stage 2 - windows version
This commit is contained in:
@@ -1,258 +1,26 @@
|
||||
From: Your Name <you@example.com>
|
||||
Date: Tue, 20 Dec 2022 14:27:02 +0000
|
||||
Date: Fri, 16 Jun 2023 15:56:35 +0000
|
||||
Subject: Viewport Protection Site Setting
|
||||
|
||||
---
|
||||
chrome/app/settings_strings.grdp | 19 ++++
|
||||
chrome/browser/resources/settings/icons.html | 2 +
|
||||
.../settings/privacy_page/privacy_page.html | 22 +++++
|
||||
chrome/browser/resources/settings/route.ts | 1 +
|
||||
chrome/browser/resources/settings/router.ts | 1 +
|
||||
.../site_settings/category_default_setting.ts | 1 +
|
||||
.../settings/site_settings/constants.ts | 1 +
|
||||
.../settings_category_default_radio_group.ts | 1 +
|
||||
.../settings/site_settings/site_details.html | 5 ++
|
||||
.../site_settings_page/site_settings_page.ts | 9 ++
|
||||
.../site_settings_page_util.ts | 2 +
|
||||
.../views/page_info/page_info_view_factory.cc | 3 +
|
||||
.../settings_localized_strings_provider.cc | 7 ++
|
||||
.../ui/webui/settings/site_settings_helper.cc | 1 +
|
||||
.../impl/BromiteViewportContentSetting.java | 88 +++++++++++++++++++
|
||||
.../bromite_content_settings/viewport.grdp | 18 ++++
|
||||
.../bromite_content_settings/viewport.inc | 13 +++
|
||||
.../impl/BromiteViewportContentSetting.java | 93 +++++++++++++++++++
|
||||
.../bromite_content_settings/viewport.grdp | 27 ++++++
|
||||
.../bromite_content_settings/viewport.inc | 22 +++++
|
||||
.../bromite_content_settings/VIEWPORT.inc | 1 +
|
||||
third_party/blink/common/features.cc | 2 +-
|
||||
.../renderer/core/frame/local_dom_window.cc | 2 +
|
||||
third_party/blink/renderer/core/page/page.cc | 3 +
|
||||
21 files changed, 201 insertions(+), 1 deletion(-)
|
||||
7 files changed, 149 insertions(+), 1 deletion(-)
|
||||
create mode 100644 components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/impl/BromiteViewportContentSetting.java
|
||||
create mode 100644 components/browser_ui/strings/android/bromite_content_settings/viewport.grdp
|
||||
create mode 100644 components/browser_ui/strings/bromite_content_settings/viewport.grdp
|
||||
create mode 100644 components/content_settings/core/browser/bromite_content_settings/viewport.inc
|
||||
create mode 100644 components/content_settings/core/common/bromite_content_settings/VIEWPORT.inc
|
||||
|
||||
diff --git a/chrome/app/settings_strings.grdp b/chrome/app/settings_strings.grdp
|
||||
--- a/chrome/app/settings_strings.grdp
|
||||
+++ b/chrome/app/settings_strings.grdp
|
||||
@@ -4434,6 +4434,25 @@
|
||||
Not allowed to use WebRTC
|
||||
</message>
|
||||
|
||||
+ <message name="IDS_SITE_SETTINGS_VIEWPORT_PROTECTION_TITLE" desc="Description of the viewport protection content setting page title.">
|
||||
+ Viewport Protection
|
||||
+ </message>
|
||||
+ <message name="IDS_SETTINGS_SITE_SETTINGS_VIEWPORT_PROTECTION_DESCRIPTION" desc="Description of the viewport protection content setting.">
|
||||
+ Enable Viewport Protection
|
||||
+ </message>
|
||||
+ <message name="IDS_SETTINGS_SITE_SETTINGS_VIEWPORT_PROTECTION_ALLOWED" desc="Label for the enabled option of the viewport protection setting.">
|
||||
+ Viewport Protection is enabled
|
||||
+ </message>
|
||||
+ <message name="IDS_SETTINGS_SITE_SETTINGS_VIEWPORT_PROTECTION_BLOCKED" desc="Label for the disabled option of the viewport protection setting.">
|
||||
+ Viewport Protection is disabled
|
||||
+ </message>
|
||||
+ <message name="IDS_SETTINGS_SITE_SETTINGS_VIEWPORT_PROTECTION_ALLOWED_EXCEPTIONS" desc="Label for the allowed exceptions site list of the viewport protection setting.">
|
||||
+ Allowed to use Viewport Protection
|
||||
+ </message>
|
||||
+ <message name="IDS_SETTINGS_SITE_SETTINGS_VIEWPORT_PROTECTION_BLOCKED_EXCEPTIONS" desc="Label for the blocked exceptions site list of the viewport protection setting.">
|
||||
+ Not allowed to use Viewport Protection
|
||||
+ </message>
|
||||
+
|
||||
<if expr="not is_chromeos">
|
||||
<!-- Import Settings Dialog -->
|
||||
<message name="IDS_SETTINGS_IMPORT_SETTINGS_TITLE" desc="Dialog title for import dialog.">
|
||||
diff --git a/chrome/browser/resources/settings/icons.html b/chrome/browser/resources/settings/icons.html
|
||||
--- a/chrome/browser/resources/settings/icons.html
|
||||
+++ b/chrome/browser/resources/settings/icons.html
|
||||
@@ -201,6 +201,8 @@ NOTE: Chrome OS icons go in ./chromeos/os_icons.html.
|
||||
<g id="webgl-off"><path d="M13.002 4.001H7.106L5.252 2.148c.232-.094.485-.147.75-.147h8l6 6v8.896l-2-2V9.001h-5v-5z" fill="#5F6368"></path><path d="M16.002 12.001h-.896l.896.896v-.896zM.6 3.45l1.414-1.414 19.94 19.94-1.414 1.414L.6 3.45zM3.986 20.01V6.84l2 2V20.01h11.172l1.765 1.766c-.28.15-.599.234-.937.234H5.976c-1.1 0-1.99-.9-1.99-2z" fill="#5F6368"></path><path d="M9.158 12.01H7.986v2h3.172l-2-2zM13.158 16.01H7.986v2h7.172l-2-2z" fill="#5F6368"></path></g>
|
||||
<g id="webrtc"><path d="M8 16h8v2H8v-2zm0-4h8v2H8v-2zm6-10H6c-1.1 0-2 .9-2 2v16c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6zm4 18H6V4h7v5h5v11z" fill="#5F6368"></path></g>
|
||||
<g id="webrtc-off"><path d="M13.002 4.001H7.106L5.252 2.148c.232-.094.485-.147.75-.147h8l6 6v8.896l-2-2V9.001h-5v-5z" fill="#5F6368"></path><path d="M16.002 12.001h-.896l.896.896v-.896zM.6 3.45l1.414-1.414 19.94 19.94-1.414 1.414L.6 3.45zM3.986 20.01V6.84l2 2V20.01h11.172l1.765 1.766c-.28.15-.599.234-.937.234H5.976c-1.1 0-1.99-.9-1.99-2z" fill="#5F6368"></path><path d="M9.158 12.01H7.986v2h3.172l-2-2zM13.158 16.01H7.986v2h7.172l-2-2z" fill="#5F6368"></path></g>
|
||||
+ <g id="viewport-protection"><path d="M8 16h8v2H8v-2zm0-4h8v2H8v-2zm6-10H6c-1.1 0-2 .9-2 2v16c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6zm4 18H6V4h7v5h5v11z" fill="#5F6368"></path></g>
|
||||
+ <g id="viewport-protection-off"><path d="M13.002 4.001H7.106L5.252 2.148c.232-.094.485-.147.75-.147h8l6 6v8.896l-2-2V9.001h-5v-5z" fill="#5F6368"></path><path d="M16.002 12.001h-.896l.896.896v-.896zM.6 3.45l1.414-1.414 19.94 19.94-1.414 1.414L.6 3.45zM3.986 20.01V6.84l2 2V20.01h11.172l1.765 1.766c-.28.15-.599.234-.937.234H5.976c-1.1 0-1.99-.9-1.99-2z" fill="#5F6368"></path><path d="M9.158 12.01H7.986v2h3.172l-2-2zM13.158 16.01H7.986v2h7.172l-2-2z" fill="#5F6368"></path></g>
|
||||
</defs>
|
||||
</svg>
|
||||
</iron-iconset-svg>
|
||||
diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page.html b/chrome/browser/resources/settings/privacy_page/privacy_page.html
|
||||
--- a/chrome/browser/resources/settings/privacy_page/privacy_page.html
|
||||
+++ b/chrome/browser/resources/settings/privacy_page/privacy_page.html
|
||||
@@ -1214,4 +1214,26 @@
|
||||
</category-setting-exceptions>
|
||||
</settings-subpage>
|
||||
</template>
|
||||
+ <template is="dom-if" route-path="/content/viewport-protection" no-search>
|
||||
+ <settings-subpage page-title="$i18n{siteSettingsViewportProtection}"
|
||||
+ search-label="$i18n{siteSettingsAllSitesSearch}"
|
||||
+ search-term="{{searchFilter_}}">
|
||||
+ <div class="content-settings-header secondary">
|
||||
+ $i18n{siteSettingsViewportProtectionDescription}
|
||||
+ </div>
|
||||
+ <settings-category-default-radio-group
|
||||
+ category="[[contentSettingsTypesEnum_.VIEWPORT]]"
|
||||
+ allow-option-label="$i18n{siteSettingsViewportProtectionAllowed}"
|
||||
+ allow-option-icon="settings:viewport-protection"
|
||||
+ block-option-label="$i18n{siteSettingsViewportProtectionBlocked}"
|
||||
+ block-option-icon="settings:viewport-protection-off">
|
||||
+ </settings-category-default-radio-group>
|
||||
+ <category-setting-exceptions
|
||||
+ category="[[contentSettingsTypesEnum_.VIEWPORT]]"
|
||||
+ block-header="$i18n{siteSettingsViewportProtectionBlockedExceptions}"
|
||||
+ allow-header="$i18n{siteSettingsViewportProtectionAllowedExceptions}"
|
||||
+ search-filter="[[searchFilter_]]">
|
||||
+ </category-setting-exceptions>
|
||||
+ </settings-subpage>
|
||||
+ </template>
|
||||
</settings-animated-pages>
|
||||
diff --git a/chrome/browser/resources/settings/route.ts b/chrome/browser/resources/settings/route.ts
|
||||
--- a/chrome/browser/resources/settings/route.ts
|
||||
+++ b/chrome/browser/resources/settings/route.ts
|
||||
@@ -127,6 +127,7 @@ function addPrivacyChildRoutes(r: Partial<SettingsRoutes>) {
|
||||
r.SITE_SETTINGS_TIMEZONE_OVERRIDE = r.SITE_SETTINGS.createChild('timezone-override');
|
||||
r.SITE_SETTINGS_WEBGL = r.SITE_SETTINGS.createChild('webgl');
|
||||
r.SITE_SETTINGS_WEBRTC = r.SITE_SETTINGS.createChild('webrtc');
|
||||
+ r.SITE_SETTINGS_VIEWPORT = r.SITE_SETTINGS.createChild('viewport-protection');
|
||||
}
|
||||
|
||||
/**
|
||||
diff --git a/chrome/browser/resources/settings/router.ts b/chrome/browser/resources/settings/router.ts
|
||||
--- a/chrome/browser/resources/settings/router.ts
|
||||
+++ b/chrome/browser/resources/settings/router.ts
|
||||
@@ -109,6 +109,7 @@ export interface SettingsRoutes {
|
||||
SITE_SETTINGS_TIMEZONE_OVERRIDE: Route;
|
||||
SITE_SETTINGS_WEBGL: Route;
|
||||
SITE_SETTINGS_WEBRTC: Route;
|
||||
+ SITE_SETTINGS_VIEWPORT: Route;
|
||||
}
|
||||
|
||||
/** Class for navigable routes. */
|
||||
diff --git a/chrome/browser/resources/settings/site_settings/category_default_setting.ts b/chrome/browser/resources/settings/site_settings/category_default_setting.ts
|
||||
--- a/chrome/browser/resources/settings/site_settings/category_default_setting.ts
|
||||
+++ b/chrome/browser/resources/settings/site_settings/category_default_setting.ts
|
||||
@@ -200,6 +200,7 @@ export class CategoryDefaultSettingElement extends
|
||||
case ContentSettingsTypes.TIMEZONE_OVERRIDE:
|
||||
case ContentSettingsTypes.WEBGL:
|
||||
case ContentSettingsTypes.WEBRTC:
|
||||
+ case ContentSettingsTypes.VIEWPORT:
|
||||
// "Allowed" vs "Blocked".
|
||||
this.browserProxy.setDefaultValueForContentType(
|
||||
this.category,
|
||||
diff --git a/chrome/browser/resources/settings/site_settings/constants.ts b/chrome/browser/resources/settings/site_settings/constants.ts
|
||||
--- a/chrome/browser/resources/settings/site_settings/constants.ts
|
||||
+++ b/chrome/browser/resources/settings/site_settings/constants.ts
|
||||
@@ -51,6 +51,7 @@ export enum ContentSettingsTypes {
|
||||
TIMEZONE_OVERRIDE = 'timezone-override',
|
||||
WEBGL = 'webgl',
|
||||
WEBRTC = 'webrtc',
|
||||
+ VIEWPORT = 'viewport',
|
||||
|
||||
// The following items are not in the C++ kContentSettingsTypeGroupNames, but
|
||||
// are used everywhere where ContentSettingsTypes is used in JS.
|
||||
diff --git a/chrome/browser/resources/settings/site_settings/settings_category_default_radio_group.ts b/chrome/browser/resources/settings/site_settings/settings_category_default_radio_group.ts
|
||||
--- a/chrome/browser/resources/settings/site_settings/settings_category_default_radio_group.ts
|
||||
+++ b/chrome/browser/resources/settings/site_settings/settings_category_default_radio_group.ts
|
||||
@@ -144,6 +144,7 @@ export class SettingsCategoryDefaultRadioGroupElement extends
|
||||
case ContentSettingsTypes.TIMEZONE_OVERRIDE:
|
||||
case ContentSettingsTypes.WEBGL:
|
||||
case ContentSettingsTypes.WEBRTC:
|
||||
+ case ContentSettingsTypes.VIEWPORT:
|
||||
// "Allowed" vs "Blocked".
|
||||
return ContentSetting.ALLOW;
|
||||
case ContentSettingsTypes.AR:
|
||||
diff --git a/chrome/browser/resources/settings/site_settings/site_details.html b/chrome/browser/resources/settings/site_settings/site_details.html
|
||||
--- a/chrome/browser/resources/settings/site_settings/site_details.html
|
||||
+++ b/chrome/browser/resources/settings/site_settings/site_details.html
|
||||
@@ -291,4 +291,9 @@
|
||||
icon="settings:webrtc"
|
||||
label="$i18n{siteSettingsWebRTC}">
|
||||
</site-details-permission>
|
||||
+ <site-details-permission
|
||||
+ category="[[contentSettingsTypesEnum_.VIEWPORT]]"
|
||||
+ icon="settings:viewport-protection"
|
||||
+ label="$i18n{siteSettingsViewportProtection}">
|
||||
+ </site-details-permission>
|
||||
</div>
|
||||
diff --git a/chrome/browser/resources/settings/site_settings_page/site_settings_page.ts b/chrome/browser/resources/settings/site_settings_page/site_settings_page.ts
|
||||
--- a/chrome/browser/resources/settings/site_settings_page/site_settings_page.ts
|
||||
+++ b/chrome/browser/resources/settings/site_settings_page/site_settings_page.ts
|
||||
@@ -374,6 +374,14 @@ function getCategoryItemMap(): Map<ContentSettingsTypes, CategoryListItem> {
|
||||
enabledLabel: 'siteSettingsWebRTCAllowed',
|
||||
disabledLabel: 'siteSettingsWebRTCBlocked',
|
||||
},
|
||||
+ {
|
||||
+ route: routes.SITE_SETTINGS_VIEWPORT,
|
||||
+ id: Id.VIEWPORT,
|
||||
+ label: 'siteSettingsViewportProtection',
|
||||
+ icon: 'settings:viewport-protection',
|
||||
+ enabledLabel: 'siteSettingsViewportProtectionAllowed',
|
||||
+ disabledLabel: 'siteSettingsViewportProtectionBlocked',
|
||||
+ },
|
||||
];
|
||||
|
||||
categoryItemMap = new Map(categoryList.map(item => [item.id, item]));
|
||||
@@ -472,6 +480,7 @@ export class SettingsSiteSettingsPageElement extends
|
||||
Id.TIMEZONE_OVERRIDE,
|
||||
Id.WEBGL,
|
||||
Id.WEBRTC,
|
||||
+ Id.VIEWPORT,
|
||||
]),
|
||||
};
|
||||
},
|
||||
diff --git a/chrome/browser/resources/settings/site_settings_page/site_settings_page_util.ts b/chrome/browser/resources/settings/site_settings_page/site_settings_page_util.ts
|
||||
--- a/chrome/browser/resources/settings/site_settings_page/site_settings_page_util.ts
|
||||
+++ b/chrome/browser/resources/settings/site_settings_page/site_settings_page_util.ts
|
||||
@@ -87,6 +87,8 @@ export function getLocalizationStringForContentType(
|
||||
return 'siteSettingsWebglMidSentence';
|
||||
case ContentSettingsTypes.WEBRTC:
|
||||
return 'siteSettingsWebRTCMidSentence';
|
||||
+ case ContentSettingsTypes.VIEWPORT:
|
||||
+ return 'siteSettingsViewportProtectionMidSentence';
|
||||
// The following members do not have a mid-sentence localization.
|
||||
case ContentSettingsTypes.ANTI_ABUSE:
|
||||
case ContentSettingsTypes.PDF_DOCUMENTS:
|
||||
diff --git a/chrome/browser/ui/views/page_info/page_info_view_factory.cc b/chrome/browser/ui/views/page_info/page_info_view_factory.cc
|
||||
--- a/chrome/browser/ui/views/page_info/page_info_view_factory.cc
|
||||
+++ b/chrome/browser/ui/views/page_info/page_info_view_factory.cc
|
||||
@@ -384,6 +384,9 @@ const ui::ImageModel PageInfoViewFactory::GetPermissionIcon(
|
||||
case ContentSettingsType::WEBRTC:
|
||||
icon = &vector_icons::kProtectedContentIcon;
|
||||
break;
|
||||
+ case ContentSettingsType::VIEWPORT:
|
||||
+ icon = &vector_icons::kProtectedContentIcon;
|
||||
+ break;
|
||||
default:
|
||||
// All other |ContentSettingsType|s do not have icons on desktop or are
|
||||
// not shown in the Page Info bubble.
|
||||
diff --git a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
|
||||
--- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
|
||||
+++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
|
||||
@@ -2556,6 +2556,13 @@ void AddSiteSettingsStrings(content::WebUIDataSource* html_source,
|
||||
{"siteSettingsWebRTCAllowedExceptions",IDS_SETTINGS_SITE_SETTINGS_WEBRTC_ALLOWED_EXCEPTIONS},
|
||||
{"siteSettingsWebRTCBlockedExceptions", IDS_SETTINGS_SITE_SETTINGS_WEBRTC_BLOCKED_EXCEPTIONS},
|
||||
{"siteSettingsWebRTCMidSentence", IDS_SITE_SETTINGS_WEBRTC_TITLE},
|
||||
+ {"siteSettingsViewportProtection", IDS_SITE_SETTINGS_VIEWPORT_PROTECTION_TITLE},
|
||||
+ {"siteSettingsViewportProtectionDescription", IDS_SETTINGS_SITE_SETTINGS_VIEWPORT_PROTECTION_DESCRIPTION},
|
||||
+ {"siteSettingsViewportProtectionAllowed", IDS_SETTINGS_SITE_SETTINGS_VIEWPORT_PROTECTION_ALLOWED},
|
||||
+ {"siteSettingsViewportProtectionBlocked", IDS_SETTINGS_SITE_SETTINGS_VIEWPORT_PROTECTION_BLOCKED},
|
||||
+ {"siteSettingsViewportProtectionAllowedExceptions",IDS_SETTINGS_SITE_SETTINGS_VIEWPORT_PROTECTION_ALLOWED_EXCEPTIONS},
|
||||
+ {"siteSettingsViewportProtectionBlockedExceptions", IDS_SETTINGS_SITE_SETTINGS_VIEWPORT_PROTECTION_BLOCKED_EXCEPTIONS},
|
||||
+ {"siteSettingsViewportProtectionMidSentence", IDS_SITE_SETTINGS_VIEWPORT_PROTECTION_TITLE},
|
||||
{"addSite", IDS_SETTINGS_ADD_SITE},
|
||||
{"addSiteTitle", IDS_SETTINGS_ADD_SITE_TITLE},
|
||||
#if BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
diff --git a/chrome/browser/ui/webui/settings/site_settings_helper.cc b/chrome/browser/ui/webui/settings/site_settings_helper.cc
|
||||
--- a/chrome/browser/ui/webui/settings/site_settings_helper.cc
|
||||
+++ b/chrome/browser/ui/webui/settings/site_settings_helper.cc
|
||||
@@ -130,6 +130,7 @@ const ContentSettingsTypeNameEntry kContentSettingsTypeGroupNames[] = {
|
||||
{ContentSettingsType::TIMEZONE_OVERRIDE, "timezone-override"},
|
||||
{ContentSettingsType::WEBGL, "webgl"},
|
||||
{ContentSettingsType::WEBRTC, "webrtc"},
|
||||
+ {ContentSettingsType::VIEWPORT, "viewport"},
|
||||
|
||||
// Add new content settings here if a corresponding Javascript string
|
||||
// representation for it is not required, for example if the content setting
|
||||
diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/impl/BromiteViewportContentSetting.java b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/impl/BromiteViewportContentSetting.java
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/impl/BromiteViewportContentSetting.java
|
||||
@@ -0,0 +1,88 @@
|
||||
@@ -0,0 +1,93 @@
|
||||
+/*
|
||||
+ This file is part of Bromite.
|
||||
+
|
||||
@@ -322,6 +90,11 @@ new file mode 100644
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public int getCategoryDescription() {
|
||||
+ return R.string.settings_site_settings_viewport_protection_description;
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public boolean requiresTriStateContentSetting() {
|
||||
+ return false;
|
||||
+ }
|
||||
@@ -341,34 +114,43 @@ new file mode 100644
|
||||
+ return value != ContentSettingValues.BLOCK;
|
||||
+ }
|
||||
+}
|
||||
diff --git a/components/browser_ui/strings/android/bromite_content_settings/viewport.grdp b/components/browser_ui/strings/android/bromite_content_settings/viewport.grdp
|
||||
diff --git a/components/browser_ui/strings/bromite_content_settings/viewport.grdp b/components/browser_ui/strings/bromite_content_settings/viewport.grdp
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/components/browser_ui/strings/android/bromite_content_settings/viewport.grdp
|
||||
@@ -0,0 +1,18 @@
|
||||
+++ b/components/browser_ui/strings/bromite_content_settings/viewport.grdp
|
||||
@@ -0,0 +1,27 @@
|
||||
+<?xml version="1.0" encoding="utf-8"?>
|
||||
+<grit-part>
|
||||
+ <message name="IDS_SITE_SETTINGS_TYPE_VIEWPORT" desc="The label used for viewport size change site settings controls.">
|
||||
+ <message name="IDS_SITE_SETTINGS_TYPE_VIEWPORT" desc="The label used for viewport size change site settings controls." formatter_data="android_java">
|
||||
+ Viewport Size Protection
|
||||
+ </message>
|
||||
+ <message name="IDS_SITE_SETTINGS_TYPE_VIEWPORT_MID_SENTENCE" desc="The label used for viewport size change site settings controls when used mid-sentence.">
|
||||
+ <message name="IDS_VIEWPORT_PERMISSION_TITLE" desc="Title of the permission to use viewport size change [CHAR-LIMIT=32]" formatter_data="android_java">
|
||||
+ Viewport Size Protection
|
||||
+ </message>
|
||||
+ <message name="IDS_VIEWPORT_PERMISSION_TITLE" desc="Title of the permission to use viewport size change [CHAR-LIMIT=32]">
|
||||
+ <message name="IDS_SITE_SETTINGS_TYPE_VIEWPORT_MID_SENTENCE" desc="The label used for viewport size change site settings controls when used mid-sentence." formatter_data="android_java">
|
||||
+ Viewport Size Protection
|
||||
+ </message>
|
||||
+ <message name="IDS_WEBSITE_SETTINGS_CATEGORY_VIEWPORT_ENABLED" desc="Summary text explaining that viewport size change is full enabled.">
|
||||
+ <message name="IDS_SETTINGS_SITE_SETTINGS_VIEWPORT_PROTECTION_DESCRIPTION" desc="Description of the viewport protection content setting." formatter_data="android_java">
|
||||
+ Hides the screen size by randomly changing the values for each website
|
||||
+ </message>
|
||||
+ <message name="IDS_WEBSITE_SETTINGS_CATEGORY_VIEWPORT_ENABLED" desc="Summary text explaining that viewport size change is full enabled." formatter_data="android_java">
|
||||
+ Enabled
|
||||
+ </message>
|
||||
+ <message name="IDS_WEBSITE_SETTINGS_CATEGORY_VIEWPORT_DISABLED" desc="Summary text explaining that viewport size change is full disabled.">
|
||||
+ <message name="IDS_WEBSITE_SETTINGS_CATEGORY_VIEWPORT_DISABLED" desc="Summary text explaining that viewport size change is full disabled." formatter_data="android_java">
|
||||
+ Disabled
|
||||
+ </message>
|
||||
+ <message name="IDS_SETTINGS_SITE_SETTINGS_VIEWPORT_PROTECTION_ALLOWED_EXCEPTIONS" desc="Label for the allowed exceptions site list of the viewport protection setting.">
|
||||
+ Viewport Protection is enabled with these websites
|
||||
+ </message>
|
||||
+ <message name="IDS_SETTINGS_SITE_SETTINGS_VIEWPORT_PROTECTION_BLOCKED_EXCEPTIONS" desc="Label for the blocked exceptions site list of the viewport protection setting.">
|
||||
+ Not allowed to use Viewport Protection
|
||||
+ </message>
|
||||
+</grit-part>
|
||||
diff --git a/components/content_settings/core/browser/bromite_content_settings/viewport.inc b/components/content_settings/core/browser/bromite_content_settings/viewport.inc
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/components/content_settings/core/browser/bromite_content_settings/viewport.inc
|
||||
@@ -0,0 +1,13 @@
|
||||
@@ -0,0 +1,22 @@
|
||||
+ Register(ContentSettingsType::VIEWPORT, "viewport", CONTENT_SETTING_ALLOW,
|
||||
+ WebsiteSettingsInfo::SYNCABLE,
|
||||
+ /*allowlisted_schemes=*/{},
|
||||
@@ -377,11 +159,20 @@ new file mode 100644
|
||||
+ WebsiteSettingsInfo::TOP_ORIGIN_ONLY_SCOPE,
|
||||
+ WebsiteSettingsRegistry::ALL_PLATFORMS,
|
||||
+ ContentSettingsInfo::INHERIT_IN_INCOGNITO,
|
||||
+ ContentSettingsInfo::EXCEPTIONS_ON_SECURE_AND_INSECURE_ORIGINS,
|
||||
+ /*show_into_info_page*/ true,
|
||||
+ /*is_renderer_content_setting*/ true,
|
||||
+ /*permission_type_ui*/ IDS_SITE_SETTINGS_TYPE_VIEWPORT,
|
||||
+ /*permission_type_ui_mid_sentence*/ IDS_SITE_SETTINGS_TYPE_VIEWPORT_MID_SENTENCE);
|
||||
+ ContentSettingsInfo::EXCEPTIONS_ON_SECURE_AND_INSECURE_ORIGINS);
|
||||
+
|
||||
+ content_settings::WebsiteSettingsRegistry::GetInstance()
|
||||
+ ->GetMutable(ContentSettingsType::VIEWPORT)
|
||||
+ ->set_show_into_info_page()
|
||||
+ .set_desktop_ui()
|
||||
+ .set_is_renderer_content_setting()
|
||||
+ .set_title_ui(IDS_SITE_SETTINGS_TYPE_VIEWPORT)
|
||||
+ .set_description_ui(IDS_SETTINGS_SITE_SETTINGS_VIEWPORT_PROTECTION_DESCRIPTION)
|
||||
+ .set_allowed_ui(IDS_WEBSITE_SETTINGS_CATEGORY_VIEWPORT_ENABLED)
|
||||
+ .set_blocked_ui(IDS_WEBSITE_SETTINGS_CATEGORY_VIEWPORT_DISABLED)
|
||||
+ .set_allowed_exceptions_ui(IDS_SETTINGS_SITE_SETTINGS_VIEWPORT_PROTECTION_ALLOWED_EXCEPTIONS)
|
||||
+ .set_blocked_exceptions_ui(IDS_SETTINGS_SITE_SETTINGS_VIEWPORT_PROTECTION_BLOCKED_EXCEPTIONS)
|
||||
+ .set_mid_sentence_ui(IDS_SITE_SETTINGS_TYPE_VIEWPORT_MID_SENTENCE);
|
||||
diff --git a/components/content_settings/core/common/bromite_content_settings/VIEWPORT.inc b/components/content_settings/core/common/bromite_content_settings/VIEWPORT.inc
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
|
||||
@@ -1,241 +0,0 @@
|
||||
From: Your Name <you@example.com>
|
||||
Date: Thu, 13 Oct 2022 08:12:18 +0000
|
||||
Subject: WIN ADDTO Add webGL site setting
|
||||
|
||||
---
|
||||
chrome/app/settings_strings.grdp | 19 ++++++++++++++++
|
||||
chrome/browser/resources/settings/icons.html | 2 ++
|
||||
.../settings/privacy_page/privacy_page.html | 22 +++++++++++++++++++
|
||||
chrome/browser/resources/settings/route.ts | 1 +
|
||||
chrome/browser/resources/settings/router.ts | 1 +
|
||||
.../site_settings/category_default_setting.ts | 1 +
|
||||
.../settings/site_settings/constants.ts | 1 +
|
||||
.../settings_category_default_radio_group.ts | 1 +
|
||||
.../settings/site_settings/site_details.html | 5 +++++
|
||||
.../site_settings_page/site_settings_page.ts | 9 ++++++++
|
||||
.../site_settings_page_util.ts | 2 ++
|
||||
.../views/page_info/page_info_view_factory.cc | 3 +++
|
||||
.../settings_localized_strings_provider.cc | 7 ++++++
|
||||
.../ui/webui/settings/site_settings_helper.cc | 1 +
|
||||
14 files changed, 75 insertions(+)
|
||||
|
||||
diff --git a/chrome/app/settings_strings.grdp b/chrome/app/settings_strings.grdp
|
||||
--- a/chrome/app/settings_strings.grdp
|
||||
+++ b/chrome/app/settings_strings.grdp
|
||||
@@ -4396,6 +4396,25 @@
|
||||
Random Timezone override
|
||||
</message>
|
||||
|
||||
+ <message name="IDS_SITE_SETTINGS_WEBGL_TITLE" desc="Description of the webgl content setting page title.">
|
||||
+ Webgl
|
||||
+ </message>
|
||||
+ <message name="IDS_SETTINGS_SITE_SETTINGS_WEBGL_DESCRIPTION" desc="Description of the webgl content setting.">
|
||||
+ Enable Webgl
|
||||
+ </message>
|
||||
+ <message name="IDS_SETTINGS_SITE_SETTINGS_WEBGL_ALLOWED" desc="Label for the enabled option of the Webgl setting.">
|
||||
+ Webgl is enabled
|
||||
+ </message>
|
||||
+ <message name="IDS_SETTINGS_SITE_SETTINGS_WEBGL_BLOCKED" desc="Label for the disabled option of the Webgl setting.">
|
||||
+ Webgl is disabled
|
||||
+ </message>
|
||||
+ <message name="IDS_SETTINGS_SITE_SETTINGS_WEBGL_ALLOWED_EXCEPTIONS" desc="Label for the allowed exceptions site list of the webgl setting.">
|
||||
+ Allowed to use webgl
|
||||
+ </message>
|
||||
+ <message name="IDS_SETTINGS_SITE_SETTINGS_WEBGL_BLOCKED_EXCEPTIONS" desc="Label for the blocked exceptions site list of the webgl setting.">
|
||||
+ Not allowed to use webgl
|
||||
+ </message>
|
||||
+
|
||||
<if expr="not is_chromeos">
|
||||
<!-- Import Settings Dialog -->
|
||||
<message name="IDS_SETTINGS_IMPORT_SETTINGS_TITLE" desc="Dialog title for import dialog.">
|
||||
diff --git a/chrome/browser/resources/settings/icons.html b/chrome/browser/resources/settings/icons.html
|
||||
--- a/chrome/browser/resources/settings/icons.html
|
||||
+++ b/chrome/browser/resources/settings/icons.html
|
||||
@@ -197,6 +197,8 @@ NOTE: Chrome OS icons go in ./chromeos/os_icons.html.
|
||||
<g id="javascript-jit-off"><path d="M19.17,12l-4.58-4.59L16,6l6,6l-3.59,3.59L17,14.17L19.17,12z M1.39,4.22l4.19,4.19L2,12l6,6l1.41-1.41L4.83,12L7,9.83 l12.78,12.78l1.41-1.41L2.81,2.81L1.39,4.22z"></path></g>
|
||||
<g id="timezone-override"><path d="M21.72 11.33l-6.644-7.035a.97.97 0 0 0-1.38-.01l-1.67 1.72-1.617-1.712a.97.97 0 0 0-1.38-.01l-6.737 6.935c-.187.191-.29.447-.292.719-.002.272.099.529.28.722l6.644 7.034a.949.949 0 0 0 1.38.011l1.671-1.718 1.615 1.71a.949.949 0 0 0 1.381.01l6.74-6.935a1.054 1.054 0 0 0 .01-1.44zM6.947 12.464l3.657 3.785-.974.98-5.273-5.456 5.349-5.378.929.962-3.677 3.7a.998.998 0 0 0-.292.702 1 1 0 0 0 .28.705zm7.35 4.768l-.931-.963 3.68-3.7a1.012 1.012 0 0 0 .007-1.407l-3.656-3.784.974-.98 5.273 5.456-5.348 5.378z"></path></g>
|
||||
<g id="timezone-override-off"><path d="M7.95,5.12l0.73-0.8C8.88,4.11,9.15,4,9.42,4c0.27,0,0.54,0.11,0.74,0.32L12,6.34l1.85-2.01C14.04,4.11,14.31,4,14.58,4 c0.27,0,0.54,0.11,0.74,0.32l6.42,7c0.35,0.38,0.35,0.97,0,1.35l-2.98,3.25l-1.42-1.42l2.3-2.51l-5.06-5.52l-1.23,1.34l3.21,3.51 c0.35,0.38,0.35,0.97,0,1.35l-0.51,0.56L7.95,5.12z M19.78,22.61l-3.73-3.73l-0.73,0.8c-0.2,0.22-0.47,0.32-0.74,0.32 c-0.27,0-0.54-0.11-0.74-0.32L12,17.66l-1.85,2.01C9.96,19.89,9.69,20,9.42,20c-0.27,0-0.54-0.11-0.74-0.32l-6.42-7 c-0.35-0.38-0.35-0.97,0-1.35l2.98-3.25L1.39,4.22l1.41-1.41l18.38,18.38L19.78,22.61z M10.64,16.18l-3.21-3.51 c-0.35-0.38-0.35-0.97,0-1.35l0.51-0.56L6.66,9.49L4.36,12l5.06,5.52L10.64,16.18z"></path></g>
|
||||
+ <g id="webgl"><path d="M8 16h8v2H8v-2zm0-4h8v2H8v-2zm6-10H6c-1.1 0-2 .9-2 2v16c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6zm4 18H6V4h7v5h5v11z" fill="#5F6368"></path></g>
|
||||
+ <g id="webgl-off"><path d="M13.002 4.001H7.106L5.252 2.148c.232-.094.485-.147.75-.147h8l6 6v8.896l-2-2V9.001h-5v-5z" fill="#5F6368"></path><path d="M16.002 12.001h-.896l.896.896v-.896zM.6 3.45l1.414-1.414 19.94 19.94-1.414 1.414L.6 3.45zM3.986 20.01V6.84l2 2V20.01h11.172l1.765 1.766c-.28.15-.599.234-.937.234H5.976c-1.1 0-1.99-.9-1.99-2z" fill="#5F6368"></path><path d="M9.158 12.01H7.986v2h3.172l-2-2zM13.158 16.01H7.986v2h7.172l-2-2z" fill="#5F6368"></path></g>
|
||||
</defs>
|
||||
</svg>
|
||||
</iron-iconset-svg>
|
||||
diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page.html b/chrome/browser/resources/settings/privacy_page/privacy_page.html
|
||||
--- a/chrome/browser/resources/settings/privacy_page/privacy_page.html
|
||||
+++ b/chrome/browser/resources/settings/privacy_page/privacy_page.html
|
||||
@@ -1170,4 +1170,26 @@
|
||||
</category-setting-exceptions>
|
||||
</settings-subpage>
|
||||
</template>
|
||||
+ <template is="dom-if" route-path="/content/webgl" no-search>
|
||||
+ <settings-subpage page-title="$i18n{siteSettingsWebgl}"
|
||||
+ search-label="$i18n{siteSettingsAllSitesSearch}"
|
||||
+ search-term="{{searchFilter_}}">
|
||||
+ <div class="content-settings-header secondary">
|
||||
+ $i18n{siteSettingsWebglDescription}
|
||||
+ </div>
|
||||
+ <settings-category-default-radio-group
|
||||
+ category="[[contentSettingsTypesEnum_.WEBGL]]"
|
||||
+ allow-option-label="$i18n{siteSettingsWebglAllowed}"
|
||||
+ allow-option-icon="settings:webgl"
|
||||
+ block-option-label="$i18n{siteSettingsWebglBlocked}"
|
||||
+ block-option-icon="settings:webgl-off">
|
||||
+ </settings-category-default-radio-group>
|
||||
+ <category-setting-exceptions
|
||||
+ category="[[contentSettingsTypesEnum_.WEBGL]]"
|
||||
+ block-header="$i18n{siteSettingsWebglBlockedExceptions}"
|
||||
+ allow-header="$i18n{siteSettingsWebglAllowedExceptions}"
|
||||
+ search-filter="[[searchFilter_]]">
|
||||
+ </category-setting-exceptions>
|
||||
+ </settings-subpage>
|
||||
+ </template>
|
||||
</settings-animated-pages>
|
||||
diff --git a/chrome/browser/resources/settings/route.ts b/chrome/browser/resources/settings/route.ts
|
||||
--- a/chrome/browser/resources/settings/route.ts
|
||||
+++ b/chrome/browser/resources/settings/route.ts
|
||||
@@ -125,6 +125,7 @@ function addPrivacyChildRoutes(r: Partial<SettingsRoutes>) {
|
||||
r.SITE_SETTINGS_AUTOPLAY = r.SITE_SETTINGS.createChild('autoplay');
|
||||
r.SITE_SETTINGS_JAVASCRIPT_JIT = r.SITE_SETTINGS.createChild('javascript-jit');
|
||||
r.SITE_SETTINGS_TIMEZONE_OVERRIDE = r.SITE_SETTINGS.createChild('timezone-override');
|
||||
+ r.SITE_SETTINGS_WEBGL = r.SITE_SETTINGS.createChild('webgl');
|
||||
}
|
||||
|
||||
/**
|
||||
diff --git a/chrome/browser/resources/settings/router.ts b/chrome/browser/resources/settings/router.ts
|
||||
--- a/chrome/browser/resources/settings/router.ts
|
||||
+++ b/chrome/browser/resources/settings/router.ts
|
||||
@@ -107,6 +107,7 @@ export interface SettingsRoutes {
|
||||
SITE_SETTINGS_AUTOPLAY: Route;
|
||||
SITE_SETTINGS_JAVASCRIPT_JIT: Route;
|
||||
SITE_SETTINGS_TIMEZONE_OVERRIDE: Route;
|
||||
+ SITE_SETTINGS_WEBGL: Route;
|
||||
}
|
||||
|
||||
/** Class for navigable routes. */
|
||||
diff --git a/chrome/browser/resources/settings/site_settings/category_default_setting.ts b/chrome/browser/resources/settings/site_settings/category_default_setting.ts
|
||||
--- a/chrome/browser/resources/settings/site_settings/category_default_setting.ts
|
||||
+++ b/chrome/browser/resources/settings/site_settings/category_default_setting.ts
|
||||
@@ -198,6 +198,7 @@ export class CategoryDefaultSettingElement extends
|
||||
case ContentSettingsTypes.AUTOPLAY:
|
||||
case ContentSettingsTypes.JAVASCRIPT_JIT:
|
||||
case ContentSettingsTypes.TIMEZONE_OVERRIDE:
|
||||
+ case ContentSettingsTypes.WEBGL:
|
||||
// "Allowed" vs "Blocked".
|
||||
this.browserProxy.setDefaultValueForContentType(
|
||||
this.category,
|
||||
diff --git a/chrome/browser/resources/settings/site_settings/constants.ts b/chrome/browser/resources/settings/site_settings/constants.ts
|
||||
--- a/chrome/browser/resources/settings/site_settings/constants.ts
|
||||
+++ b/chrome/browser/resources/settings/site_settings/constants.ts
|
||||
@@ -49,6 +49,7 @@ export enum ContentSettingsTypes {
|
||||
AUTOPLAY = 'autoplay',
|
||||
JAVASCRIPT_JIT = 'javascript-jit',
|
||||
TIMEZONE_OVERRIDE = 'timezone-override',
|
||||
+ WEBGL = 'webgl',
|
||||
|
||||
// The following items are not in the C++ kContentSettingsTypeGroupNames, but
|
||||
// are used everywhere where ContentSettingsTypes is used in JS.
|
||||
diff --git a/chrome/browser/resources/settings/site_settings/settings_category_default_radio_group.ts b/chrome/browser/resources/settings/site_settings/settings_category_default_radio_group.ts
|
||||
--- a/chrome/browser/resources/settings/site_settings/settings_category_default_radio_group.ts
|
||||
+++ b/chrome/browser/resources/settings/site_settings/settings_category_default_radio_group.ts
|
||||
@@ -142,6 +142,7 @@ export class SettingsCategoryDefaultRadioGroupElement extends
|
||||
case ContentSettingsTypes.AUTOPLAY:
|
||||
case ContentSettingsTypes.JAVASCRIPT_JIT:
|
||||
case ContentSettingsTypes.TIMEZONE_OVERRIDE:
|
||||
+ case ContentSettingsTypes.WEBGL:
|
||||
// "Allowed" vs "Blocked".
|
||||
return ContentSetting.ALLOW;
|
||||
case ContentSettingsTypes.AR:
|
||||
diff --git a/chrome/browser/resources/settings/site_settings/site_details.html b/chrome/browser/resources/settings/site_settings/site_details.html
|
||||
--- a/chrome/browser/resources/settings/site_settings/site_details.html
|
||||
+++ b/chrome/browser/resources/settings/site_settings/site_details.html
|
||||
@@ -281,4 +281,9 @@
|
||||
icon="settings:timezone-override"
|
||||
label="$i18n{siteSettingsTimezoneOverride}">
|
||||
</site-details-permission>
|
||||
+ <site-details-permission
|
||||
+ category="[[contentSettingsTypesEnum_.WEBGL]]"
|
||||
+ icon="settings:webgl"
|
||||
+ label="$i18n{siteSettingsWebgl}">
|
||||
+ </site-details-permission>
|
||||
</div>
|
||||
diff --git a/chrome/browser/resources/settings/site_settings_page/site_settings_page.ts b/chrome/browser/resources/settings/site_settings_page/site_settings_page.ts
|
||||
--- a/chrome/browser/resources/settings/site_settings_page/site_settings_page.ts
|
||||
+++ b/chrome/browser/resources/settings/site_settings_page/site_settings_page.ts
|
||||
@@ -358,6 +358,14 @@ function getCategoryItemMap(): Map<ContentSettingsTypes, CategoryListItem> {
|
||||
enabledLabel: 'siteSettingsTimezoneOverrideAllowed',
|
||||
disabledLabel: 'siteSettingsTimezoneOverrideBlocked',
|
||||
},
|
||||
+ {
|
||||
+ route: routes.SITE_SETTINGS_WEBGL,
|
||||
+ id: Id.WEBGL,
|
||||
+ label: 'siteSettingsWebgl',
|
||||
+ icon: 'settings:webgl',
|
||||
+ enabledLabel: 'siteSettingsWebglAllowed',
|
||||
+ disabledLabel: 'siteSettingsWebglBlocked',
|
||||
+ },
|
||||
];
|
||||
|
||||
categoryItemMap = new Map(categoryList.map(item => [item.id, item]));
|
||||
@@ -454,6 +462,7 @@ export class SettingsSiteSettingsPageElement extends
|
||||
Id.AUTOPLAY,
|
||||
Id.JAVASCRIPT_JIT,
|
||||
Id.TIMEZONE_OVERRIDE,
|
||||
+ Id.WEBGL,
|
||||
]),
|
||||
};
|
||||
},
|
||||
diff --git a/chrome/browser/resources/settings/site_settings_page/site_settings_page_util.ts b/chrome/browser/resources/settings/site_settings_page/site_settings_page_util.ts
|
||||
--- a/chrome/browser/resources/settings/site_settings_page/site_settings_page_util.ts
|
||||
+++ b/chrome/browser/resources/settings/site_settings_page/site_settings_page_util.ts
|
||||
@@ -83,6 +83,8 @@ export function getLocalizationStringForContentType(
|
||||
return 'siteSettingsJavascriptJITMidSentence';
|
||||
case ContentSettingsTypes.TIMEZONE_OVERRIDE:
|
||||
return 'siteSettingsTimezoneOverrideMidSentence';
|
||||
+ case ContentSettingsTypes.WEBGL:
|
||||
+ return 'siteSettingsWebglMidSentence';
|
||||
// The following members do not have a mid-sentence localization.
|
||||
case ContentSettingsTypes.ANTI_ABUSE:
|
||||
case ContentSettingsTypes.PDF_DOCUMENTS:
|
||||
diff --git a/chrome/browser/ui/views/page_info/page_info_view_factory.cc b/chrome/browser/ui/views/page_info/page_info_view_factory.cc
|
||||
--- a/chrome/browser/ui/views/page_info/page_info_view_factory.cc
|
||||
+++ b/chrome/browser/ui/views/page_info/page_info_view_factory.cc
|
||||
@@ -378,6 +378,9 @@ const ui::ImageModel PageInfoViewFactory::GetPermissionIcon(
|
||||
case ContentSettingsType::TIMEZONE_OVERRIDE:
|
||||
icon = &vector_icons::kAccountCircleIcon;
|
||||
break;
|
||||
+ case ContentSettingsType::WEBGL:
|
||||
+ icon = &vector_icons::kProtectedContentIcon;
|
||||
+ break;
|
||||
default:
|
||||
// All other |ContentSettingsType|s do not have icons on desktop or are
|
||||
// not shown in the Page Info bubble.
|
||||
diff --git a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
|
||||
--- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
|
||||
+++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
|
||||
@@ -2542,6 +2542,13 @@ void AddSiteSettingsStrings(content::WebUIDataSource* html_source,
|
||||
{"siteSettingsTimezoneOverrideAllowedExceptions",IDS_SETTINGS_SITE_SETTINGS_TIMEZONE_OVERRIDE_ALLOWED_EXCEPTIONS},
|
||||
{"siteSettingsTimezoneOverrideBlockedExceptions", IDS_SETTINGS_SITE_SETTINGS_TIMEZONE_OVERRIDE_BLOCKED_EXCEPTIONS},
|
||||
{"siteSettingsTimezoneOverrideMidSentence", IDS_SITE_SETTINGS_TIMEZONE_OVERRIDE_TITLE},
|
||||
+ {"siteSettingsWebgl", IDS_SITE_SETTINGS_WEBGL_TITLE},
|
||||
+ {"siteSettingsWebglDescription", IDS_SETTINGS_SITE_SETTINGS_WEBGL_DESCRIPTION},
|
||||
+ {"siteSettingsWebglAllowed", IDS_SETTINGS_SITE_SETTINGS_WEBGL_ALLOWED},
|
||||
+ {"siteSettingsWebglBlocked", IDS_SETTINGS_SITE_SETTINGS_WEBGL_BLOCKED},
|
||||
+ {"siteSettingsWebglAllowedExceptions",IDS_SETTINGS_SITE_SETTINGS_WEBGL_ALLOWED_EXCEPTIONS},
|
||||
+ {"siteSettingsWebglBlockedExceptions", IDS_SETTINGS_SITE_SETTINGS_WEBGL_BLOCKED_EXCEPTIONS},
|
||||
+ {"siteSettingsWebglMidSentence", IDS_SITE_SETTINGS_WEBGL_TITLE},
|
||||
{"addSite", IDS_SETTINGS_ADD_SITE},
|
||||
{"addSiteTitle", IDS_SETTINGS_ADD_SITE_TITLE},
|
||||
#if BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
diff --git a/chrome/browser/ui/webui/settings/site_settings_helper.cc b/chrome/browser/ui/webui/settings/site_settings_helper.cc
|
||||
--- a/chrome/browser/ui/webui/settings/site_settings_helper.cc
|
||||
+++ b/chrome/browser/ui/webui/settings/site_settings_helper.cc
|
||||
@@ -128,6 +128,7 @@ const ContentSettingsTypeNameEntry kContentSettingsTypeGroupNames[] = {
|
||||
{ContentSettingsType::AUTOPLAY, "autoplay"},
|
||||
{ContentSettingsType::JAVASCRIPT_JIT, "javascript-jit"},
|
||||
{ContentSettingsType::TIMEZONE_OVERRIDE, "timezone-override"},
|
||||
+ {ContentSettingsType::WEBGL, "webgl"},
|
||||
|
||||
// Add new content settings here if a corresponding Javascript string
|
||||
// representation for it is not required, for example if the content setting
|
||||
--
|
||||
2.25.1
|
||||
@@ -1,241 +0,0 @@
|
||||
From: Your Name <you@example.com>
|
||||
Date: Thu, 13 Oct 2022 08:52:11 +0000
|
||||
Subject: WIN ADDTO Add webRTC site settings
|
||||
|
||||
---
|
||||
chrome/app/settings_strings.grdp | 19 ++++++++++++++++
|
||||
chrome/browser/resources/settings/icons.html | 2 ++
|
||||
.../settings/privacy_page/privacy_page.html | 22 +++++++++++++++++++
|
||||
chrome/browser/resources/settings/route.ts | 1 +
|
||||
chrome/browser/resources/settings/router.ts | 1 +
|
||||
.../site_settings/category_default_setting.ts | 1 +
|
||||
.../settings/site_settings/constants.ts | 1 +
|
||||
.../settings_category_default_radio_group.ts | 1 +
|
||||
.../settings/site_settings/site_details.html | 5 +++++
|
||||
.../site_settings_page/site_settings_page.ts | 9 ++++++++
|
||||
.../site_settings_page_util.ts | 2 ++
|
||||
.../views/page_info/page_info_view_factory.cc | 3 +++
|
||||
.../settings_localized_strings_provider.cc | 7 ++++++
|
||||
.../ui/webui/settings/site_settings_helper.cc | 1 +
|
||||
14 files changed, 75 insertions(+)
|
||||
|
||||
diff --git a/chrome/app/settings_strings.grdp b/chrome/app/settings_strings.grdp
|
||||
--- a/chrome/app/settings_strings.grdp
|
||||
+++ b/chrome/app/settings_strings.grdp
|
||||
@@ -4415,6 +4415,25 @@
|
||||
Not allowed to use webgl
|
||||
</message>
|
||||
|
||||
+ <message name="IDS_SITE_SETTINGS_WEBRTC_TITLE" desc="Description of the WebRTC content setting page title.">
|
||||
+ WebRTC
|
||||
+ </message>
|
||||
+ <message name="IDS_SETTINGS_SITE_SETTINGS_WEBRTC_DESCRIPTION" desc="Description of the WebRTC content setting.">
|
||||
+ Enable WebRTC
|
||||
+ </message>
|
||||
+ <message name="IDS_SETTINGS_SITE_SETTINGS_WEBRTC_ALLOWED" desc="Label for the enabled option of the WebRTC setting.">
|
||||
+ WebRTC is enabled
|
||||
+ </message>
|
||||
+ <message name="IDS_SETTINGS_SITE_SETTINGS_WEBRTC_BLOCKED" desc="Label for the disabled option of the WebRTC setting.">
|
||||
+ WebRTC is disabled
|
||||
+ </message>
|
||||
+ <message name="IDS_SETTINGS_SITE_SETTINGS_WEBRTC_ALLOWED_EXCEPTIONS" desc="Label for the allowed exceptions site list of the WebRTC setting.">
|
||||
+ Allowed to use WebRTC
|
||||
+ </message>
|
||||
+ <message name="IDS_SETTINGS_SITE_SETTINGS_WEBRTC_BLOCKED_EXCEPTIONS" desc="Label for the blocked exceptions site list of the WebRTC setting.">
|
||||
+ Not allowed to use WebRTC
|
||||
+ </message>
|
||||
+
|
||||
<if expr="not is_chromeos">
|
||||
<!-- Import Settings Dialog -->
|
||||
<message name="IDS_SETTINGS_IMPORT_SETTINGS_TITLE" desc="Dialog title for import dialog.">
|
||||
diff --git a/chrome/browser/resources/settings/icons.html b/chrome/browser/resources/settings/icons.html
|
||||
--- a/chrome/browser/resources/settings/icons.html
|
||||
+++ b/chrome/browser/resources/settings/icons.html
|
||||
@@ -199,6 +199,8 @@ NOTE: Chrome OS icons go in ./chromeos/os_icons.html.
|
||||
<g id="timezone-override-off"><path d="M7.95,5.12l0.73-0.8C8.88,4.11,9.15,4,9.42,4c0.27,0,0.54,0.11,0.74,0.32L12,6.34l1.85-2.01C14.04,4.11,14.31,4,14.58,4 c0.27,0,0.54,0.11,0.74,0.32l6.42,7c0.35,0.38,0.35,0.97,0,1.35l-2.98,3.25l-1.42-1.42l2.3-2.51l-5.06-5.52l-1.23,1.34l3.21,3.51 c0.35,0.38,0.35,0.97,0,1.35l-0.51,0.56L7.95,5.12z M19.78,22.61l-3.73-3.73l-0.73,0.8c-0.2,0.22-0.47,0.32-0.74,0.32 c-0.27,0-0.54-0.11-0.74-0.32L12,17.66l-1.85,2.01C9.96,19.89,9.69,20,9.42,20c-0.27,0-0.54-0.11-0.74-0.32l-6.42-7 c-0.35-0.38-0.35-0.97,0-1.35l2.98-3.25L1.39,4.22l1.41-1.41l18.38,18.38L19.78,22.61z M10.64,16.18l-3.21-3.51 c-0.35-0.38-0.35-0.97,0-1.35l0.51-0.56L6.66,9.49L4.36,12l5.06,5.52L10.64,16.18z"></path></g>
|
||||
<g id="webgl"><path d="M8 16h8v2H8v-2zm0-4h8v2H8v-2zm6-10H6c-1.1 0-2 .9-2 2v16c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6zm4 18H6V4h7v5h5v11z" fill="#5F6368"></path></g>
|
||||
<g id="webgl-off"><path d="M13.002 4.001H7.106L5.252 2.148c.232-.094.485-.147.75-.147h8l6 6v8.896l-2-2V9.001h-5v-5z" fill="#5F6368"></path><path d="M16.002 12.001h-.896l.896.896v-.896zM.6 3.45l1.414-1.414 19.94 19.94-1.414 1.414L.6 3.45zM3.986 20.01V6.84l2 2V20.01h11.172l1.765 1.766c-.28.15-.599.234-.937.234H5.976c-1.1 0-1.99-.9-1.99-2z" fill="#5F6368"></path><path d="M9.158 12.01H7.986v2h3.172l-2-2zM13.158 16.01H7.986v2h7.172l-2-2z" fill="#5F6368"></path></g>
|
||||
+ <g id="webrtc"><path d="M8 16h8v2H8v-2zm0-4h8v2H8v-2zm6-10H6c-1.1 0-2 .9-2 2v16c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6zm4 18H6V4h7v5h5v11z" fill="#5F6368"></path></g>
|
||||
+ <g id="webrtc-off"><path d="M13.002 4.001H7.106L5.252 2.148c.232-.094.485-.147.75-.147h8l6 6v8.896l-2-2V9.001h-5v-5z" fill="#5F6368"></path><path d="M16.002 12.001h-.896l.896.896v-.896zM.6 3.45l1.414-1.414 19.94 19.94-1.414 1.414L.6 3.45zM3.986 20.01V6.84l2 2V20.01h11.172l1.765 1.766c-.28.15-.599.234-.937.234H5.976c-1.1 0-1.99-.9-1.99-2z" fill="#5F6368"></path><path d="M9.158 12.01H7.986v2h3.172l-2-2zM13.158 16.01H7.986v2h7.172l-2-2z" fill="#5F6368"></path></g>
|
||||
</defs>
|
||||
</svg>
|
||||
</iron-iconset-svg>
|
||||
diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page.html b/chrome/browser/resources/settings/privacy_page/privacy_page.html
|
||||
--- a/chrome/browser/resources/settings/privacy_page/privacy_page.html
|
||||
+++ b/chrome/browser/resources/settings/privacy_page/privacy_page.html
|
||||
@@ -1192,4 +1192,26 @@
|
||||
</category-setting-exceptions>
|
||||
</settings-subpage>
|
||||
</template>
|
||||
+ <template is="dom-if" route-path="/content/webrtc" no-search>
|
||||
+ <settings-subpage page-title="$i18n{siteSettingsWebRTC}"
|
||||
+ search-label="$i18n{siteSettingsAllSitesSearch}"
|
||||
+ search-term="{{searchFilter_}}">
|
||||
+ <div class="content-settings-header secondary">
|
||||
+ $i18n{siteSettingsWebRTCDescription}
|
||||
+ </div>
|
||||
+ <settings-category-default-radio-group
|
||||
+ category="[[contentSettingsTypesEnum_.WEBRTC]]"
|
||||
+ allow-option-label="$i18n{siteSettingsWebRTCAllowed}"
|
||||
+ allow-option-icon="settings:webrtc"
|
||||
+ block-option-label="$i18n{siteSettingsWebRTCBlocked}"
|
||||
+ block-option-icon="settings:webrtc-off">
|
||||
+ </settings-category-default-radio-group>
|
||||
+ <category-setting-exceptions
|
||||
+ category="[[contentSettingsTypesEnum_.WEBRTC]]"
|
||||
+ block-header="$i18n{siteSettingsWebRTCBlockedExceptions}"
|
||||
+ allow-header="$i18n{siteSettingsWebRTCAllowedExceptions}"
|
||||
+ search-filter="[[searchFilter_]]">
|
||||
+ </category-setting-exceptions>
|
||||
+ </settings-subpage>
|
||||
+ </template>
|
||||
</settings-animated-pages>
|
||||
diff --git a/chrome/browser/resources/settings/route.ts b/chrome/browser/resources/settings/route.ts
|
||||
--- a/chrome/browser/resources/settings/route.ts
|
||||
+++ b/chrome/browser/resources/settings/route.ts
|
||||
@@ -126,6 +126,7 @@ function addPrivacyChildRoutes(r: Partial<SettingsRoutes>) {
|
||||
r.SITE_SETTINGS_JAVASCRIPT_JIT = r.SITE_SETTINGS.createChild('javascript-jit');
|
||||
r.SITE_SETTINGS_TIMEZONE_OVERRIDE = r.SITE_SETTINGS.createChild('timezone-override');
|
||||
r.SITE_SETTINGS_WEBGL = r.SITE_SETTINGS.createChild('webgl');
|
||||
+ r.SITE_SETTINGS_WEBRTC = r.SITE_SETTINGS.createChild('webrtc');
|
||||
}
|
||||
|
||||
/**
|
||||
diff --git a/chrome/browser/resources/settings/router.ts b/chrome/browser/resources/settings/router.ts
|
||||
--- a/chrome/browser/resources/settings/router.ts
|
||||
+++ b/chrome/browser/resources/settings/router.ts
|
||||
@@ -108,6 +108,7 @@ export interface SettingsRoutes {
|
||||
SITE_SETTINGS_JAVASCRIPT_JIT: Route;
|
||||
SITE_SETTINGS_TIMEZONE_OVERRIDE: Route;
|
||||
SITE_SETTINGS_WEBGL: Route;
|
||||
+ SITE_SETTINGS_WEBRTC: Route;
|
||||
}
|
||||
|
||||
/** Class for navigable routes. */
|
||||
diff --git a/chrome/browser/resources/settings/site_settings/category_default_setting.ts b/chrome/browser/resources/settings/site_settings/category_default_setting.ts
|
||||
--- a/chrome/browser/resources/settings/site_settings/category_default_setting.ts
|
||||
+++ b/chrome/browser/resources/settings/site_settings/category_default_setting.ts
|
||||
@@ -199,6 +199,7 @@ export class CategoryDefaultSettingElement extends
|
||||
case ContentSettingsTypes.JAVASCRIPT_JIT:
|
||||
case ContentSettingsTypes.TIMEZONE_OVERRIDE:
|
||||
case ContentSettingsTypes.WEBGL:
|
||||
+ case ContentSettingsTypes.WEBRTC:
|
||||
// "Allowed" vs "Blocked".
|
||||
this.browserProxy.setDefaultValueForContentType(
|
||||
this.category,
|
||||
diff --git a/chrome/browser/resources/settings/site_settings/constants.ts b/chrome/browser/resources/settings/site_settings/constants.ts
|
||||
--- a/chrome/browser/resources/settings/site_settings/constants.ts
|
||||
+++ b/chrome/browser/resources/settings/site_settings/constants.ts
|
||||
@@ -50,6 +50,7 @@ export enum ContentSettingsTypes {
|
||||
JAVASCRIPT_JIT = 'javascript-jit',
|
||||
TIMEZONE_OVERRIDE = 'timezone-override',
|
||||
WEBGL = 'webgl',
|
||||
+ WEBRTC = 'webrtc',
|
||||
|
||||
// The following items are not in the C++ kContentSettingsTypeGroupNames, but
|
||||
// are used everywhere where ContentSettingsTypes is used in JS.
|
||||
diff --git a/chrome/browser/resources/settings/site_settings/settings_category_default_radio_group.ts b/chrome/browser/resources/settings/site_settings/settings_category_default_radio_group.ts
|
||||
--- a/chrome/browser/resources/settings/site_settings/settings_category_default_radio_group.ts
|
||||
+++ b/chrome/browser/resources/settings/site_settings/settings_category_default_radio_group.ts
|
||||
@@ -143,6 +143,7 @@ export class SettingsCategoryDefaultRadioGroupElement extends
|
||||
case ContentSettingsTypes.JAVASCRIPT_JIT:
|
||||
case ContentSettingsTypes.TIMEZONE_OVERRIDE:
|
||||
case ContentSettingsTypes.WEBGL:
|
||||
+ case ContentSettingsTypes.WEBRTC:
|
||||
// "Allowed" vs "Blocked".
|
||||
return ContentSetting.ALLOW;
|
||||
case ContentSettingsTypes.AR:
|
||||
diff --git a/chrome/browser/resources/settings/site_settings/site_details.html b/chrome/browser/resources/settings/site_settings/site_details.html
|
||||
--- a/chrome/browser/resources/settings/site_settings/site_details.html
|
||||
+++ b/chrome/browser/resources/settings/site_settings/site_details.html
|
||||
@@ -286,4 +286,9 @@
|
||||
icon="settings:webgl"
|
||||
label="$i18n{siteSettingsWebgl}">
|
||||
</site-details-permission>
|
||||
+ <site-details-permission
|
||||
+ category="[[contentSettingsTypesEnum_.WEBRTC]]"
|
||||
+ icon="settings:webrtc"
|
||||
+ label="$i18n{siteSettingsWebRTC}">
|
||||
+ </site-details-permission>
|
||||
</div>
|
||||
diff --git a/chrome/browser/resources/settings/site_settings_page/site_settings_page.ts b/chrome/browser/resources/settings/site_settings_page/site_settings_page.ts
|
||||
--- a/chrome/browser/resources/settings/site_settings_page/site_settings_page.ts
|
||||
+++ b/chrome/browser/resources/settings/site_settings_page/site_settings_page.ts
|
||||
@@ -366,6 +366,14 @@ function getCategoryItemMap(): Map<ContentSettingsTypes, CategoryListItem> {
|
||||
enabledLabel: 'siteSettingsWebglAllowed',
|
||||
disabledLabel: 'siteSettingsWebglBlocked',
|
||||
},
|
||||
+ {
|
||||
+ route: routes.SITE_SETTINGS_WEBRTC,
|
||||
+ id: Id.WEBRTC,
|
||||
+ label: 'siteSettingsWebRTC',
|
||||
+ icon: 'settings:webrtc',
|
||||
+ enabledLabel: 'siteSettingsWebRTCAllowed',
|
||||
+ disabledLabel: 'siteSettingsWebRTCBlocked',
|
||||
+ },
|
||||
];
|
||||
|
||||
categoryItemMap = new Map(categoryList.map(item => [item.id, item]));
|
||||
@@ -463,6 +471,7 @@ export class SettingsSiteSettingsPageElement extends
|
||||
Id.JAVASCRIPT_JIT,
|
||||
Id.TIMEZONE_OVERRIDE,
|
||||
Id.WEBGL,
|
||||
+ Id.WEBRTC,
|
||||
]),
|
||||
};
|
||||
},
|
||||
diff --git a/chrome/browser/resources/settings/site_settings_page/site_settings_page_util.ts b/chrome/browser/resources/settings/site_settings_page/site_settings_page_util.ts
|
||||
--- a/chrome/browser/resources/settings/site_settings_page/site_settings_page_util.ts
|
||||
+++ b/chrome/browser/resources/settings/site_settings_page/site_settings_page_util.ts
|
||||
@@ -85,6 +85,8 @@ export function getLocalizationStringForContentType(
|
||||
return 'siteSettingsTimezoneOverrideMidSentence';
|
||||
case ContentSettingsTypes.WEBGL:
|
||||
return 'siteSettingsWebglMidSentence';
|
||||
+ case ContentSettingsTypes.WEBRTC:
|
||||
+ return 'siteSettingsWebRTCMidSentence';
|
||||
// The following members do not have a mid-sentence localization.
|
||||
case ContentSettingsTypes.ANTI_ABUSE:
|
||||
case ContentSettingsTypes.PDF_DOCUMENTS:
|
||||
diff --git a/chrome/browser/ui/views/page_info/page_info_view_factory.cc b/chrome/browser/ui/views/page_info/page_info_view_factory.cc
|
||||
--- a/chrome/browser/ui/views/page_info/page_info_view_factory.cc
|
||||
+++ b/chrome/browser/ui/views/page_info/page_info_view_factory.cc
|
||||
@@ -381,6 +381,9 @@ const ui::ImageModel PageInfoViewFactory::GetPermissionIcon(
|
||||
case ContentSettingsType::WEBGL:
|
||||
icon = &vector_icons::kProtectedContentIcon;
|
||||
break;
|
||||
+ case ContentSettingsType::WEBRTC:
|
||||
+ icon = &vector_icons::kProtectedContentIcon;
|
||||
+ break;
|
||||
default:
|
||||
// All other |ContentSettingsType|s do not have icons on desktop or are
|
||||
// not shown in the Page Info bubble.
|
||||
diff --git a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
|
||||
--- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
|
||||
+++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
|
||||
@@ -2549,6 +2549,13 @@ void AddSiteSettingsStrings(content::WebUIDataSource* html_source,
|
||||
{"siteSettingsWebglAllowedExceptions",IDS_SETTINGS_SITE_SETTINGS_WEBGL_ALLOWED_EXCEPTIONS},
|
||||
{"siteSettingsWebglBlockedExceptions", IDS_SETTINGS_SITE_SETTINGS_WEBGL_BLOCKED_EXCEPTIONS},
|
||||
{"siteSettingsWebglMidSentence", IDS_SITE_SETTINGS_WEBGL_TITLE},
|
||||
+ {"siteSettingsWebRTC", IDS_SITE_SETTINGS_WEBRTC_TITLE},
|
||||
+ {"siteSettingsWebRTCDescription", IDS_SETTINGS_SITE_SETTINGS_WEBRTC_DESCRIPTION},
|
||||
+ {"siteSettingsWebRTCAllowed", IDS_SETTINGS_SITE_SETTINGS_WEBRTC_ALLOWED},
|
||||
+ {"siteSettingsWebRTCBlocked", IDS_SETTINGS_SITE_SETTINGS_WEBRTC_BLOCKED},
|
||||
+ {"siteSettingsWebRTCAllowedExceptions",IDS_SETTINGS_SITE_SETTINGS_WEBRTC_ALLOWED_EXCEPTIONS},
|
||||
+ {"siteSettingsWebRTCBlockedExceptions", IDS_SETTINGS_SITE_SETTINGS_WEBRTC_BLOCKED_EXCEPTIONS},
|
||||
+ {"siteSettingsWebRTCMidSentence", IDS_SITE_SETTINGS_WEBRTC_TITLE},
|
||||
{"addSite", IDS_SETTINGS_ADD_SITE},
|
||||
{"addSiteTitle", IDS_SETTINGS_ADD_SITE_TITLE},
|
||||
#if BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
diff --git a/chrome/browser/ui/webui/settings/site_settings_helper.cc b/chrome/browser/ui/webui/settings/site_settings_helper.cc
|
||||
--- a/chrome/browser/ui/webui/settings/site_settings_helper.cc
|
||||
+++ b/chrome/browser/ui/webui/settings/site_settings_helper.cc
|
||||
@@ -129,6 +129,7 @@ const ContentSettingsTypeNameEntry kContentSettingsTypeGroupNames[] = {
|
||||
{ContentSettingsType::JAVASCRIPT_JIT, "javascript-jit"},
|
||||
{ContentSettingsType::TIMEZONE_OVERRIDE, "timezone-override"},
|
||||
{ContentSettingsType::WEBGL, "webgl"},
|
||||
+ {ContentSettingsType::WEBRTC, "webrtc"},
|
||||
|
||||
// Add new content settings here if a corresponding Javascript string
|
||||
// representation for it is not required, for example if the content setting
|
||||
--
|
||||
2.25.1
|
||||
@@ -1,22 +0,0 @@
|
||||
From: Your Name <you@example.com>
|
||||
Date: Tue, 13 Jun 2023 15:52:08 +0000
|
||||
Subject: WIN ADDTO JIT site settings (fixup)
|
||||
|
||||
---
|
||||
.../ui/webui/settings/settings_localized_strings_provider.cc | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
|
||||
--- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
|
||||
+++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
|
||||
@@ -2534,7 +2534,7 @@ void AddSiteSettingsStrings(content::WebUIDataSource* html_source,
|
||||
{"siteSettingsJavascriptJITBlocked", IDS_SETTINGS_SITE_SETTINGS_JAVASCRIPT_JIT_BLOCKED},
|
||||
{"siteSettingsJavascriptJITAllowedExceptions",IDS_SETTINGS_SITE_SETTINGS_JAVASCRIPT_JIT_ALLOWED_EXCEPTIONS},
|
||||
{"siteSettingsJavascriptJITBlockedExceptions", IDS_SETTINGS_SITE_SETTINGS_JAVASCRIPT_JIT_BLOCKED_EXCEPTIONS},
|
||||
- {"siteSettingsJavascriptJITMidSentence", IDS_SITE_SETTINGS_TYPE_JAVASCRIPT_JIT},
|
||||
+ {"siteSettingsJavascriptJITMidSentence", IDS_JAVASCRIPT_JIT_PERMISSION_TITLE},
|
||||
{"siteSettingsTimezoneOverride", IDS_SITE_SETTINGS_TIMEZONE_OVERRIDE_TITLE},
|
||||
{"siteSettingsTimezoneOverrideDescription", IDS_SETTINGS_SITE_SETTINGS_TIMEZONE_OVERRIDE_DESCRIPTION},
|
||||
{"siteSettingsTimezoneOverrideAllowed", IDS_SETTINGS_SITE_SETTINGS_TIMEZONE_OVERRIDE_ALLOWED},
|
||||
--
|
||||
2.25.1
|
||||
@@ -1,271 +0,0 @@
|
||||
From: Your Name <you@example.com>
|
||||
Date: Wed, 12 Oct 2022 14:03:37 +0000
|
||||
Subject: WIN ADDTO JIT site settings
|
||||
|
||||
---
|
||||
chrome/app/settings_strings.grdp | 19 ++++++++++++++++
|
||||
chrome/browser/resources/settings/icons.html | 2 ++
|
||||
.../settings/privacy_page/privacy_page.html | 22 +++++++++++++++++++
|
||||
chrome/browser/resources/settings/route.ts | 1 +
|
||||
chrome/browser/resources/settings/router.ts | 1 +
|
||||
.../site_settings/category_default_setting.ts | 1 +
|
||||
.../settings/site_settings/constants.ts | 1 +
|
||||
.../settings_category_default_radio_group.ts | 1 +
|
||||
.../settings/site_settings/site_details.html | 5 +++++
|
||||
.../site_settings_page/site_settings_page.ts | 9 ++++++++
|
||||
.../site_settings_page_util.ts | 2 ++
|
||||
.../views/page_info/page_info_view_factory.cc | 3 +++
|
||||
.../settings_localized_strings_provider.cc | 7 ++++++
|
||||
.../ui/webui/settings/site_settings_helper.cc | 3 ++-
|
||||
.../core/browser/content_settings_registry.cc | 3 ++-
|
||||
15 files changed, 78 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/chrome/app/settings_strings.grdp b/chrome/app/settings_strings.grdp
|
||||
--- a/chrome/app/settings_strings.grdp
|
||||
+++ b/chrome/app/settings_strings.grdp
|
||||
@@ -4358,6 +4358,25 @@
|
||||
Not allowed to autoplay
|
||||
</message>
|
||||
|
||||
+ <message name="IDS_SITE_SETTINGS_JAVASCRIPT_JIT_TITLE" desc="Description of the Javascript JIT content setting page title.">
|
||||
+ Javascript JIT
|
||||
+ </message>
|
||||
+ <message name="IDS_SETTINGS_SITE_SETTINGS_JAVASCRIPT_JIT_DESCRIPTION" desc="Description of the Javascript JIT content setting.">
|
||||
+ Enable the JIT compiler in V8
|
||||
+ </message>
|
||||
+ <message name="IDS_SETTINGS_SITE_SETTINGS_JAVASCRIPT_JIT_ALLOWED" desc="Label for the enabled option of the Javascript JIT setting.">
|
||||
+ Javascript JIT is enabled
|
||||
+ </message>
|
||||
+ <message name="IDS_SETTINGS_SITE_SETTINGS_JAVASCRIPT_JIT_BLOCKED" desc="Label for the disabled option of the Javascript JIT setting.">
|
||||
+ Javascript JIT is disabled
|
||||
+ </message>
|
||||
+ <message name="IDS_SETTINGS_SITE_SETTINGS_JAVASCRIPT_JIT_ALLOWED_EXCEPTIONS" desc="Label for the allowed exceptions site list of the Javascript JIT setting.">
|
||||
+ Allowed to Javascript JIT
|
||||
+ </message>
|
||||
+ <message name="IDS_SETTINGS_SITE_SETTINGS_JAVASCRIPT_JIT_BLOCKED_EXCEPTIONS" desc="Label for the blocked exceptions site list of the Javascript JIT setting.">
|
||||
+ Not allowed to Javascript JIT
|
||||
+ </message>
|
||||
+
|
||||
<if expr="not is_chromeos">
|
||||
<!-- Import Settings Dialog -->
|
||||
<message name="IDS_SETTINGS_IMPORT_SETTINGS_TITLE" desc="Dialog title for import dialog.">
|
||||
diff --git a/chrome/browser/resources/settings/icons.html b/chrome/browser/resources/settings/icons.html
|
||||
--- a/chrome/browser/resources/settings/icons.html
|
||||
+++ b/chrome/browser/resources/settings/icons.html
|
||||
@@ -193,6 +193,8 @@ NOTE: Chrome OS icons go in ./chromeos/os_icons.html.
|
||||
<g id="feedback" viewBox="0 0 24 24"><path d="M20 2H4c-1.1 0-1.99.9-1.99 2L2 22l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm0 14H5.17l-.59.59-.58.58V4h16v12zm-9-4h2v2h-2zm0-6h2v4h-2z"></path></g>
|
||||
<g id="autoplay"><path d="M3 9v6h4l5 5V4L7 9H3zm13.5 3c0-1.77-1.02-3.29-2.5-4.03v8.05c1.48-.73 2.5-2.25 2.5-4.02zM14 3.23v2.06c2.89.86 5 3.54 5 6.71s-2.11 5.85-5 6.71v2.06c4.01-.91 7-4.49 7-8.77s-2.99-7.86-7-8.77z"></path></g>
|
||||
<g id="autoplay-off"><path d="M16.25,13.42C16.4,12.97,16.5,12.5,16.5,12c0-1.77-1.02-3.29-2.5-4.03v3.2L16.25,13.42z"></path><path d="M19,12c0,1.21-0.31,2.34-0.85,3.32l1.46,1.46C20.48,15.39,21,13.76,21,12c0-4.28-2.99-7.86-7-8.77v2.06 C16.89,6.15,19,8.83,19,12z"></path><path d="M2.81,2.81L1.39,4.22L6.17,9H3v6h4l5,5v-5.17l3.32,3.32c-0.42,0.23-0.85,0.43-1.32,0.56v2.06c1-0.23,1.94-0.62,2.79-1.15 l2.99,2.99l1.41-1.41L2.81,2.81z"></path><polygon points="12,9.17 12,4 9.41,6.59"></polygon></g>
|
||||
+ <g id="javascript-jit"><path d="M9.4 16.6L4.8 12l4.6-4.6L8 6l-6 6 6 6 1.4-1.4zm5.2 0l4.6-4.6-4.6-4.6L16 6l6 6-6 6-1.4-1.4z"></path></g>
|
||||
+ <g id="javascript-jit-off"><path d="M19.17,12l-4.58-4.59L16,6l6,6l-3.59,3.59L17,14.17L19.17,12z M1.39,4.22l4.19,4.19L2,12l6,6l1.41-1.41L4.83,12L7,9.83 l12.78,12.78l1.41-1.41L2.81,2.81L1.39,4.22z"></path></g>
|
||||
</defs>
|
||||
</svg>
|
||||
</iron-iconset-svg>
|
||||
diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page.html b/chrome/browser/resources/settings/privacy_page/privacy_page.html
|
||||
--- a/chrome/browser/resources/settings/privacy_page/privacy_page.html
|
||||
+++ b/chrome/browser/resources/settings/privacy_page/privacy_page.html
|
||||
@@ -1126,4 +1126,26 @@
|
||||
</category-setting-exceptions>
|
||||
</settings-subpage>
|
||||
</template>
|
||||
+ <template is="dom-if" route-path="/content/javascript-jit" no-search>
|
||||
+ <settings-subpage page-title="$i18n{siteSettingsJavascriptJIT}"
|
||||
+ search-label="$i18n{siteSettingsAllSitesSearch}"
|
||||
+ search-term="{{searchFilter_}}">
|
||||
+ <div class="content-settings-header secondary">
|
||||
+ $i18n{siteSettingsJavascriptJITDescription}
|
||||
+ </div>
|
||||
+ <settings-category-default-radio-group
|
||||
+ category="[[contentSettingsTypesEnum_.JAVASCRIPT_JIT]]"
|
||||
+ allow-option-label="$i18n{siteSettingsJavascriptJITAllowed}"
|
||||
+ allow-option-icon="settings:javascript-jit"
|
||||
+ block-option-label="$i18n{siteSettingsJavascriptJITBlocked}"
|
||||
+ block-option-icon="settings:javascript-jit-off">
|
||||
+ </settings-category-default-radio-group>
|
||||
+ <category-setting-exceptions
|
||||
+ category="[[contentSettingsTypesEnum_.JAVASCRIPT_JIT]]"
|
||||
+ block-header="$i18n{siteSettingsJavascriptJITBlockedExceptions}"
|
||||
+ allow-header="$i18n{siteSettingsJavascriptJITAllowedExceptions}"
|
||||
+ search-filter="[[searchFilter_]]">
|
||||
+ </category-setting-exceptions>
|
||||
+ </settings-subpage>
|
||||
+ </template>
|
||||
</settings-animated-pages>
|
||||
diff --git a/chrome/browser/resources/settings/route.ts b/chrome/browser/resources/settings/route.ts
|
||||
--- a/chrome/browser/resources/settings/route.ts
|
||||
+++ b/chrome/browser/resources/settings/route.ts
|
||||
@@ -123,6 +123,7 @@ function addPrivacyChildRoutes(r: Partial<SettingsRoutes>) {
|
||||
r.SITE_SETTINGS_FILE_SYSTEM_WRITE = r.SITE_SETTINGS.createChild('filesystem');
|
||||
r.SITE_SETTINGS_LOCAL_FONTS = r.SITE_SETTINGS.createChild('localFonts');
|
||||
r.SITE_SETTINGS_AUTOPLAY = r.SITE_SETTINGS.createChild('autoplay');
|
||||
+ r.SITE_SETTINGS_JAVASCRIPT_JIT = r.SITE_SETTINGS.createChild('javascript-jit');
|
||||
}
|
||||
|
||||
/**
|
||||
diff --git a/chrome/browser/resources/settings/router.ts b/chrome/browser/resources/settings/router.ts
|
||||
--- a/chrome/browser/resources/settings/router.ts
|
||||
+++ b/chrome/browser/resources/settings/router.ts
|
||||
@@ -105,6 +105,7 @@ export interface SettingsRoutes {
|
||||
SYSTEM: Route;
|
||||
TRIGGERED_RESET_DIALOG: Route;
|
||||
SITE_SETTINGS_AUTOPLAY: Route;
|
||||
+ SITE_SETTINGS_JAVASCRIPT_JIT: Route;
|
||||
}
|
||||
|
||||
/** Class for navigable routes. */
|
||||
diff --git a/chrome/browser/resources/settings/site_settings/category_default_setting.ts b/chrome/browser/resources/settings/site_settings/category_default_setting.ts
|
||||
--- a/chrome/browser/resources/settings/site_settings/category_default_setting.ts
|
||||
+++ b/chrome/browser/resources/settings/site_settings/category_default_setting.ts
|
||||
@@ -196,6 +196,7 @@ export class CategoryDefaultSettingElement extends
|
||||
case ContentSettingsTypes.SENSORS:
|
||||
case ContentSettingsTypes.SOUND:
|
||||
case ContentSettingsTypes.AUTOPLAY:
|
||||
+ case ContentSettingsTypes.JAVASCRIPT_JIT:
|
||||
// "Allowed" vs "Blocked".
|
||||
this.browserProxy.setDefaultValueForContentType(
|
||||
this.category,
|
||||
diff --git a/chrome/browser/resources/settings/site_settings/constants.ts b/chrome/browser/resources/settings/site_settings/constants.ts
|
||||
--- a/chrome/browser/resources/settings/site_settings/constants.ts
|
||||
+++ b/chrome/browser/resources/settings/site_settings/constants.ts
|
||||
@@ -47,6 +47,7 @@ export enum ContentSettingsTypes {
|
||||
WINDOW_MANAGEMENT = 'window-placement',
|
||||
ZOOM_LEVELS = 'zoom-levels',
|
||||
AUTOPLAY = 'autoplay',
|
||||
+ JAVASCRIPT_JIT = 'javascript-jit',
|
||||
|
||||
// The following items are not in the C++ kContentSettingsTypeGroupNames, but
|
||||
// are used everywhere where ContentSettingsTypes is used in JS.
|
||||
diff --git a/chrome/browser/resources/settings/site_settings/settings_category_default_radio_group.ts b/chrome/browser/resources/settings/site_settings/settings_category_default_radio_group.ts
|
||||
--- a/chrome/browser/resources/settings/site_settings/settings_category_default_radio_group.ts
|
||||
+++ b/chrome/browser/resources/settings/site_settings/settings_category_default_radio_group.ts
|
||||
@@ -140,6 +140,7 @@ export class SettingsCategoryDefaultRadioGroupElement extends
|
||||
case ContentSettingsTypes.SENSORS:
|
||||
case ContentSettingsTypes.SOUND:
|
||||
case ContentSettingsTypes.AUTOPLAY:
|
||||
+ case ContentSettingsTypes.JAVASCRIPT_JIT:
|
||||
// "Allowed" vs "Blocked".
|
||||
return ContentSetting.ALLOW;
|
||||
case ContentSettingsTypes.AR:
|
||||
diff --git a/chrome/browser/resources/settings/site_settings/site_details.html b/chrome/browser/resources/settings/site_settings/site_details.html
|
||||
--- a/chrome/browser/resources/settings/site_settings/site_details.html
|
||||
+++ b/chrome/browser/resources/settings/site_settings/site_details.html
|
||||
@@ -271,4 +271,9 @@
|
||||
icon="settings:federated-identity-api"
|
||||
label="$i18n{siteSettingsFederatedIdentityApi}">
|
||||
</site-details-permission>
|
||||
+ <site-details-permission
|
||||
+ category="[[contentSettingsTypesEnum_.JAVASCRIPT_JIT]]"
|
||||
+ icon="settings:javascript-jit"
|
||||
+ label="$i18n{siteSettingsJavascriptJIT}">
|
||||
+ </site-details-permission>
|
||||
</div>
|
||||
diff --git a/chrome/browser/resources/settings/site_settings_page/site_settings_page.ts b/chrome/browser/resources/settings/site_settings_page/site_settings_page.ts
|
||||
--- a/chrome/browser/resources/settings/site_settings_page/site_settings_page.ts
|
||||
+++ b/chrome/browser/resources/settings/site_settings_page/site_settings_page.ts
|
||||
@@ -342,6 +342,14 @@ function getCategoryItemMap(): Map<ContentSettingsTypes, CategoryListItem> {
|
||||
enabledLabel: 'siteSettingsAutoplayAllowed',
|
||||
disabledLabel: 'siteSettingsAutoplayBlocked',
|
||||
},
|
||||
+ {
|
||||
+ route: routes.SITE_SETTINGS_JAVASCRIPT_JIT,
|
||||
+ id: Id.JAVASCRIPT_JIT,
|
||||
+ label: 'siteSettingsJavascriptJIT',
|
||||
+ icon: 'settings:javascript-jit',
|
||||
+ enabledLabel: 'siteSettingsJavascriptJITAllowed',
|
||||
+ disabledLabel: 'siteSettingsJavascriptJITBlocked',
|
||||
+ },
|
||||
];
|
||||
|
||||
categoryItemMap = new Map(categoryList.map(item => [item.id, item]));
|
||||
@@ -436,6 +444,7 @@ export class SettingsSiteSettingsPageElement extends
|
||||
Id.ANTI_ABUSE,
|
||||
Id.SITE_DATA,
|
||||
Id.AUTOPLAY,
|
||||
+ Id.JAVASCRIPT_JIT,
|
||||
]),
|
||||
};
|
||||
},
|
||||
diff --git a/chrome/browser/resources/settings/site_settings_page/site_settings_page_util.ts b/chrome/browser/resources/settings/site_settings_page/site_settings_page_util.ts
|
||||
--- a/chrome/browser/resources/settings/site_settings_page/site_settings_page_util.ts
|
||||
+++ b/chrome/browser/resources/settings/site_settings_page/site_settings_page_util.ts
|
||||
@@ -79,6 +79,8 @@ export function getLocalizationStringForContentType(
|
||||
return 'siteSettingsZoomLevelsMidSentence';
|
||||
case ContentSettingsTypes.AUTOPLAY:
|
||||
return 'siteSettingsAutoplayMidSentence';
|
||||
+ case ContentSettingsTypes.JAVASCRIPT_JIT:
|
||||
+ return 'siteSettingsJavascriptJITMidSentence';
|
||||
// The following members do not have a mid-sentence localization.
|
||||
case ContentSettingsTypes.ANTI_ABUSE:
|
||||
case ContentSettingsTypes.PDF_DOCUMENTS:
|
||||
diff --git a/chrome/browser/ui/views/page_info/page_info_view_factory.cc b/chrome/browser/ui/views/page_info/page_info_view_factory.cc
|
||||
--- a/chrome/browser/ui/views/page_info/page_info_view_factory.cc
|
||||
+++ b/chrome/browser/ui/views/page_info/page_info_view_factory.cc
|
||||
@@ -372,6 +372,9 @@ const ui::ImageModel PageInfoViewFactory::GetPermissionIcon(
|
||||
case ContentSettingsType::AUTOPLAY:
|
||||
icon = &vector_icons::kProtectedContentIcon;
|
||||
break;
|
||||
+ case ContentSettingsType::JAVASCRIPT_JIT:
|
||||
+ icon = &vector_icons::kCodeIcon;
|
||||
+ break;
|
||||
default:
|
||||
// All other |ContentSettingsType|s do not have icons on desktop or are
|
||||
// not shown in the Page Info bubble.
|
||||
diff --git a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
|
||||
--- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
|
||||
+++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
|
||||
@@ -2528,6 +2528,13 @@ void AddSiteSettingsStrings(content::WebUIDataSource* html_source,
|
||||
{"siteSettingsAutoplayAllowedExceptions",IDS_SETTINGS_SITE_SETTINGS_AUTOPLAY_ALLOWED_EXCEPTIONS},
|
||||
{"siteSettingsAutoplayBlockedExceptions", IDS_SETTINGS_SITE_SETTINGS_AUTOPLAY_BLOCKED_EXCEPTIONS},
|
||||
{"siteSettingsAutoplayMidSentence", IDS_AUTOPLAY_PERMISSION_TITLE},
|
||||
+ {"siteSettingsJavascriptJIT", IDS_SITE_SETTINGS_JAVASCRIPT_JIT_TITLE},
|
||||
+ {"siteSettingsJavascriptJITDescription", IDS_SETTINGS_SITE_SETTINGS_JAVASCRIPT_JIT_DESCRIPTION},
|
||||
+ {"siteSettingsJavascriptJITAllowed", IDS_SETTINGS_SITE_SETTINGS_JAVASCRIPT_JIT_ALLOWED},
|
||||
+ {"siteSettingsJavascriptJITBlocked", IDS_SETTINGS_SITE_SETTINGS_JAVASCRIPT_JIT_BLOCKED},
|
||||
+ {"siteSettingsJavascriptJITAllowedExceptions",IDS_SETTINGS_SITE_SETTINGS_JAVASCRIPT_JIT_ALLOWED_EXCEPTIONS},
|
||||
+ {"siteSettingsJavascriptJITBlockedExceptions", IDS_SETTINGS_SITE_SETTINGS_JAVASCRIPT_JIT_BLOCKED_EXCEPTIONS},
|
||||
+ {"siteSettingsJavascriptJITMidSentence", IDS_SITE_SETTINGS_TYPE_JAVASCRIPT_JIT},
|
||||
{"addSite", IDS_SETTINGS_ADD_SITE},
|
||||
{"addSiteTitle", IDS_SETTINGS_ADD_SITE_TITLE},
|
||||
#if BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
diff --git a/chrome/browser/ui/webui/settings/site_settings_helper.cc b/chrome/browser/ui/webui/settings/site_settings_helper.cc
|
||||
--- a/chrome/browser/ui/webui/settings/site_settings_helper.cc
|
||||
+++ b/chrome/browser/ui/webui/settings/site_settings_helper.cc
|
||||
@@ -126,6 +126,7 @@ const ContentSettingsTypeNameEntry kContentSettingsTypeGroupNames[] = {
|
||||
"private-network-devices-data"},
|
||||
{ContentSettingsType::ANTI_ABUSE, "anti-abuse"},
|
||||
{ContentSettingsType::AUTOPLAY, "autoplay"},
|
||||
+ {ContentSettingsType::JAVASCRIPT_JIT, "javascript-jit"},
|
||||
|
||||
// Add new content settings here if a corresponding Javascript string
|
||||
// representation for it is not required, for example if the content setting
|
||||
@@ -162,7 +163,6 @@ const ContentSettingsTypeNameEntry kContentSettingsTypeGroupNames[] = {
|
||||
{ContentSettingsType::FILE_SYSTEM_LAST_PICKED_DIRECTORY, nullptr},
|
||||
{ContentSettingsType::DISPLAY_CAPTURE, nullptr},
|
||||
{ContentSettingsType::FEDERATED_IDENTITY_SHARING, nullptr},
|
||||
- {ContentSettingsType::JAVASCRIPT_JIT, nullptr},
|
||||
{ContentSettingsType::HTTP_ALLOWED, nullptr},
|
||||
{ContentSettingsType::HTTPS_ENFORCED, nullptr},
|
||||
{ContentSettingsType::FORMFILL_METADATA, nullptr},
|
||||
@@ -536,6 +536,7 @@ const std::vector<ContentSettingsType>& GetVisiblePermissionCategories() {
|
||||
}
|
||||
|
||||
base_types->push_back(ContentSettingsType::AUTOPLAY);
|
||||
+ base_types->push_back(ContentSettingsType::JAVASCRIPT_JIT);
|
||||
|
||||
initialized = true;
|
||||
}
|
||||
diff --git a/components/content_settings/core/browser/content_settings_registry.cc b/components/content_settings/core/browser/content_settings_registry.cc
|
||||
--- a/components/content_settings/core/browser/content_settings_registry.cc
|
||||
+++ b/components/content_settings/core/browser/content_settings_registry.cc
|
||||
@@ -518,7 +518,8 @@ void ContentSettingsRegistry::Init() {
|
||||
ContentSettingsInfo::EXCEPTIONS_ON_SECURE_ORIGINS_ONLY);
|
||||
|
||||
Register(ContentSettingsType::JAVASCRIPT_JIT, "javascript-jit",
|
||||
- CONTENT_SETTING_BLOCK, WebsiteSettingsInfo::UNSYNCABLE,
|
||||
+ CONTENT_SETTING_BLOCK,
|
||||
+ WebsiteSettingsInfo::UNSYNCABLE,
|
||||
/*allowlisted_schemes=*/{},
|
||||
/*valid_settings=*/{CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK},
|
||||
WebsiteSettingsInfo::TOP_ORIGIN_ONLY_SCOPE,
|
||||
--
|
||||
2.25.1
|
||||
@@ -1,258 +0,0 @@
|
||||
From: Your Name <you@example.com>
|
||||
Date: Wed, 12 Oct 2022 12:49:31 +0000
|
||||
Subject: WIN ADDTO Revert the removal to block autoplay
|
||||
|
||||
---
|
||||
chrome/app/settings_strings.grdp | 19 ++++++++++++++++
|
||||
chrome/browser/resources/settings/icons.html | 2 ++
|
||||
.../settings/privacy_page/privacy_page.html | 22 +++++++++++++++++++
|
||||
chrome/browser/resources/settings/route.ts | 1 +
|
||||
chrome/browser/resources/settings/router.ts | 1 +
|
||||
.../site_settings/category_default_setting.ts | 1 +
|
||||
.../settings/site_settings/constants.ts | 1 +
|
||||
.../settings_category_default_radio_group.ts | 1 +
|
||||
.../settings/site_settings/site_details.html | 5 +++++
|
||||
.../site_settings_page/site_settings_page.ts | 9 ++++++++
|
||||
.../site_settings_page_util.ts | 2 ++
|
||||
.../views/page_info/page_info_view_factory.cc | 3 +++
|
||||
.../settings_localized_strings_provider.cc | 7 ++++++
|
||||
.../ui/webui/settings/site_settings_helper.cc | 4 +++-
|
||||
14 files changed, 77 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/chrome/app/settings_strings.grdp b/chrome/app/settings_strings.grdp
|
||||
--- a/chrome/app/settings_strings.grdp
|
||||
+++ b/chrome/app/settings_strings.grdp
|
||||
@@ -4339,6 +4339,25 @@
|
||||
Control how your browsing history is used to personalize Search and more
|
||||
</message>
|
||||
|
||||
+ <message name="IDS_SITE_SETTINGS_AUTOPLAY_TITLE" desc="Description of the autoplay content setting page title.">
|
||||
+ Autoplay
|
||||
+ </message>
|
||||
+ <message name="IDS_SETTINGS_SITE_SETTINGS_AUTOPLAY_DESCRIPTION" desc="Description of the autoplay content setting.">
|
||||
+ Allow automatic start of video contents
|
||||
+ </message>
|
||||
+ <message name="IDS_SETTINGS_SITE_SETTINGS_AUTOPLAY_ALLOWED" desc="Label for the enabled option of the autoplay setting.">
|
||||
+ Autoplay is enabled
|
||||
+ </message>
|
||||
+ <message name="IDS_SETTINGS_SITE_SETTINGS_AUTOPLAY_BLOCKED" desc="Label for the disabled option of the autoplay setting.">
|
||||
+ Autoplay is disabled
|
||||
+ </message>
|
||||
+ <message name="IDS_SETTINGS_SITE_SETTINGS_AUTOPLAY_ALLOWED_EXCEPTIONS" desc="Label for the allowed exceptions site list of the autoplay setting.">
|
||||
+ Allowed to autoplay
|
||||
+ </message>
|
||||
+ <message name="IDS_SETTINGS_SITE_SETTINGS_AUTOPLAY_BLOCKED_EXCEPTIONS" desc="Label for the blocked exceptions site list of the autoplay setting.">
|
||||
+ Not allowed to autoplay
|
||||
+ </message>
|
||||
+
|
||||
<if expr="not is_chromeos">
|
||||
<!-- Import Settings Dialog -->
|
||||
<message name="IDS_SETTINGS_IMPORT_SETTINGS_TITLE" desc="Dialog title for import dialog.">
|
||||
diff --git a/chrome/browser/resources/settings/icons.html b/chrome/browser/resources/settings/icons.html
|
||||
--- a/chrome/browser/resources/settings/icons.html
|
||||
+++ b/chrome/browser/resources/settings/icons.html
|
||||
@@ -191,6 +191,8 @@ NOTE: Chrome OS icons go in ./chromeos/os_icons.html.
|
||||
<g id="file-handling-off"><path d="M13.002 4.001H7.106L5.252 2.148c.232-.094.485-.147.75-.147h8l6 6v8.896l-2-2V9.001h-5v-5z" fill="#5F6368"></path><path d="M16.002 12.001h-.896l.896.896v-.896zM.6 3.45l1.414-1.414 19.94 19.94-1.414 1.414L.6 3.45zM3.986 20.01V6.84l2 2V20.01h11.172l1.765 1.766c-.28.15-.599.234-.937.234H5.976c-1.1 0-1.99-.9-1.99-2z" fill="#5F6368"></path><path d="M9.158 12.01H7.986v2h3.172l-2-2zM13.158 16.01H7.986v2h7.172l-2-2z" fill="#5F6368"></path></g>
|
||||
<g id="performance"><path d="M0 0h24v24H0z" fill="none"></path><path d="m20.38 8.57-1.23 1.85a8 8 0 0 1-.22 7.58H5.07A8 8 0 0 1 15.58 6.85l1.85-1.23A10 10 0 0 0 3.35 19a2 2 0 0 0 1.72 1h13.85a2 2 0 0 0 1.74-1 10 10 0 0 0-.27-10.44zm-9.79 6.84a2 2 0 0 0 2.83 0l5.66-8.49-8.49 5.66a2 2 0 0 0 0 2.83z"></path></g>
|
||||
<g id="feedback" viewBox="0 0 24 24"><path d="M20 2H4c-1.1 0-1.99.9-1.99 2L2 22l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm0 14H5.17l-.59.59-.58.58V4h16v12zm-9-4h2v2h-2zm0-6h2v4h-2z"></path></g>
|
||||
+ <g id="autoplay"><path d="M3 9v6h4l5 5V4L7 9H3zm13.5 3c0-1.77-1.02-3.29-2.5-4.03v8.05c1.48-.73 2.5-2.25 2.5-4.02zM14 3.23v2.06c2.89.86 5 3.54 5 6.71s-2.11 5.85-5 6.71v2.06c4.01-.91 7-4.49 7-8.77s-2.99-7.86-7-8.77z"></path></g>
|
||||
+ <g id="autoplay-off"><path d="M16.25,13.42C16.4,12.97,16.5,12.5,16.5,12c0-1.77-1.02-3.29-2.5-4.03v3.2L16.25,13.42z"></path><path d="M19,12c0,1.21-0.31,2.34-0.85,3.32l1.46,1.46C20.48,15.39,21,13.76,21,12c0-4.28-2.99-7.86-7-8.77v2.06 C16.89,6.15,19,8.83,19,12z"></path><path d="M2.81,2.81L1.39,4.22L6.17,9H3v6h4l5,5v-5.17l3.32,3.32c-0.42,0.23-0.85,0.43-1.32,0.56v2.06c1-0.23,1.94-0.62,2.79-1.15 l2.99,2.99l1.41-1.41L2.81,2.81z"></path><polygon points="12,9.17 12,4 9.41,6.59"></polygon></g>
|
||||
</defs>
|
||||
</svg>
|
||||
</iron-iconset-svg>
|
||||
diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page.html b/chrome/browser/resources/settings/privacy_page/privacy_page.html
|
||||
--- a/chrome/browser/resources/settings/privacy_page/privacy_page.html
|
||||
+++ b/chrome/browser/resources/settings/privacy_page/privacy_page.html
|
||||
@@ -1104,4 +1104,26 @@
|
||||
</category-setting-exceptions>
|
||||
</settings-subpage>
|
||||
</template>
|
||||
+ <template is="dom-if" route-path="/content/autoplay" no-search>
|
||||
+ <settings-subpage page-title="$i18n{siteSettingsAutoplay}"
|
||||
+ search-label="$i18n{siteSettingsAllSitesSearch}"
|
||||
+ search-term="{{searchFilter_}}">
|
||||
+ <div class="content-settings-header secondary">
|
||||
+ $i18n{siteSettingsAutoplayDescription}
|
||||
+ </div>
|
||||
+ <settings-category-default-radio-group
|
||||
+ category="[[contentSettingsTypesEnum_.AUTOPLAY]]"
|
||||
+ allow-option-label="$i18n{siteSettingsAutoplayAllowed}"
|
||||
+ allow-option-icon="settings:autoplay"
|
||||
+ block-option-label="$i18n{siteSettingsAutoplayBlocked}"
|
||||
+ block-option-icon="settings:autoplay-off">
|
||||
+ </settings-category-default-radio-group>
|
||||
+ <category-setting-exceptions
|
||||
+ category="[[contentSettingsTypesEnum_.AUTOPLAY]]"
|
||||
+ block-header="$i18n{siteSettingsAutoplayBlockedExceptions}"
|
||||
+ allow-header="$i18n{siteSettingsAutoplayAllowedExceptions}"
|
||||
+ search-filter="[[searchFilter_]]">
|
||||
+ </category-setting-exceptions>
|
||||
+ </settings-subpage>
|
||||
+ </template>
|
||||
</settings-animated-pages>
|
||||
diff --git a/chrome/browser/resources/settings/route.ts b/chrome/browser/resources/settings/route.ts
|
||||
--- a/chrome/browser/resources/settings/route.ts
|
||||
+++ b/chrome/browser/resources/settings/route.ts
|
||||
@@ -122,6 +122,7 @@ function addPrivacyChildRoutes(r: Partial<SettingsRoutes>) {
|
||||
r.SITE_SETTINGS.createChild('windowManagement');
|
||||
r.SITE_SETTINGS_FILE_SYSTEM_WRITE = r.SITE_SETTINGS.createChild('filesystem');
|
||||
r.SITE_SETTINGS_LOCAL_FONTS = r.SITE_SETTINGS.createChild('localFonts');
|
||||
+ r.SITE_SETTINGS_AUTOPLAY = r.SITE_SETTINGS.createChild('autoplay');
|
||||
}
|
||||
|
||||
/**
|
||||
diff --git a/chrome/browser/resources/settings/router.ts b/chrome/browser/resources/settings/router.ts
|
||||
--- a/chrome/browser/resources/settings/router.ts
|
||||
+++ b/chrome/browser/resources/settings/router.ts
|
||||
@@ -104,6 +104,7 @@ export interface SettingsRoutes {
|
||||
SYNC_ADVANCED: Route;
|
||||
SYSTEM: Route;
|
||||
TRIGGERED_RESET_DIALOG: Route;
|
||||
+ SITE_SETTINGS_AUTOPLAY: Route;
|
||||
}
|
||||
|
||||
/** Class for navigable routes. */
|
||||
diff --git a/chrome/browser/resources/settings/site_settings/category_default_setting.ts b/chrome/browser/resources/settings/site_settings/category_default_setting.ts
|
||||
--- a/chrome/browser/resources/settings/site_settings/category_default_setting.ts
|
||||
+++ b/chrome/browser/resources/settings/site_settings/category_default_setting.ts
|
||||
@@ -195,6 +195,7 @@ export class CategoryDefaultSettingElement extends
|
||||
case ContentSettingsTypes.PROTOCOL_HANDLERS:
|
||||
case ContentSettingsTypes.SENSORS:
|
||||
case ContentSettingsTypes.SOUND:
|
||||
+ case ContentSettingsTypes.AUTOPLAY:
|
||||
// "Allowed" vs "Blocked".
|
||||
this.browserProxy.setDefaultValueForContentType(
|
||||
this.category,
|
||||
diff --git a/chrome/browser/resources/settings/site_settings/constants.ts b/chrome/browser/resources/settings/site_settings/constants.ts
|
||||
--- a/chrome/browser/resources/settings/site_settings/constants.ts
|
||||
+++ b/chrome/browser/resources/settings/site_settings/constants.ts
|
||||
@@ -46,6 +46,7 @@ export enum ContentSettingsTypes {
|
||||
VR = 'vr',
|
||||
WINDOW_MANAGEMENT = 'window-placement',
|
||||
ZOOM_LEVELS = 'zoom-levels',
|
||||
+ AUTOPLAY = 'autoplay',
|
||||
|
||||
// The following items are not in the C++ kContentSettingsTypeGroupNames, but
|
||||
// are used everywhere where ContentSettingsTypes is used in JS.
|
||||
diff --git a/chrome/browser/resources/settings/site_settings/settings_category_default_radio_group.ts b/chrome/browser/resources/settings/site_settings/settings_category_default_radio_group.ts
|
||||
--- a/chrome/browser/resources/settings/site_settings/settings_category_default_radio_group.ts
|
||||
+++ b/chrome/browser/resources/settings/site_settings/settings_category_default_radio_group.ts
|
||||
@@ -139,6 +139,7 @@ export class SettingsCategoryDefaultRadioGroupElement extends
|
||||
case ContentSettingsTypes.PROTOCOL_HANDLERS:
|
||||
case ContentSettingsTypes.SENSORS:
|
||||
case ContentSettingsTypes.SOUND:
|
||||
+ case ContentSettingsTypes.AUTOPLAY:
|
||||
// "Allowed" vs "Blocked".
|
||||
return ContentSetting.ALLOW;
|
||||
case ContentSettingsTypes.AR:
|
||||
diff --git a/chrome/browser/resources/settings/site_settings/site_details.html b/chrome/browser/resources/settings/site_settings/site_details.html
|
||||
--- a/chrome/browser/resources/settings/site_settings/site_details.html
|
||||
+++ b/chrome/browser/resources/settings/site_settings/site_details.html
|
||||
@@ -266,4 +266,9 @@
|
||||
category="[[contentSettingsTypesEnum_.LOCAL_FONTS]]"
|
||||
icon="settings:local-fonts" label="$i18n{fonts}">
|
||||
</site-details-permission>
|
||||
+ <site-details-permission
|
||||
+ category="[[contentSettingsTypesEnum_.AUTOPLAY]]"
|
||||
+ icon="settings:federated-identity-api"
|
||||
+ label="$i18n{siteSettingsFederatedIdentityApi}">
|
||||
+ </site-details-permission>
|
||||
</div>
|
||||
diff --git a/chrome/browser/resources/settings/site_settings_page/site_settings_page.ts b/chrome/browser/resources/settings/site_settings_page/site_settings_page.ts
|
||||
--- a/chrome/browser/resources/settings/site_settings_page/site_settings_page.ts
|
||||
+++ b/chrome/browser/resources/settings/site_settings_page/site_settings_page.ts
|
||||
@@ -334,6 +334,14 @@ function getCategoryItemMap(): Map<ContentSettingsTypes, CategoryListItem> {
|
||||
label: 'siteSettingsZoomLevels',
|
||||
icon: 'settings:zoom-in',
|
||||
},
|
||||
+ {
|
||||
+ route: routes.SITE_SETTINGS_AUTOPLAY,
|
||||
+ id: Id.AUTOPLAY,
|
||||
+ label: 'siteSettingsAutoplay',
|
||||
+ icon: 'settings:autoplay',
|
||||
+ enabledLabel: 'siteSettingsAutoplayAllowed',
|
||||
+ disabledLabel: 'siteSettingsAutoplayBlocked',
|
||||
+ },
|
||||
];
|
||||
|
||||
categoryItemMap = new Map(categoryList.map(item => [item.id, item]));
|
||||
@@ -427,6 +435,7 @@ export class SettingsSiteSettingsPageElement extends
|
||||
Id.FEDERATED_IDENTITY_API,
|
||||
Id.ANTI_ABUSE,
|
||||
Id.SITE_DATA,
|
||||
+ Id.AUTOPLAY,
|
||||
]),
|
||||
};
|
||||
},
|
||||
diff --git a/chrome/browser/resources/settings/site_settings_page/site_settings_page_util.ts b/chrome/browser/resources/settings/site_settings_page/site_settings_page_util.ts
|
||||
--- a/chrome/browser/resources/settings/site_settings_page/site_settings_page_util.ts
|
||||
+++ b/chrome/browser/resources/settings/site_settings_page/site_settings_page_util.ts
|
||||
@@ -77,6 +77,8 @@ export function getLocalizationStringForContentType(
|
||||
return 'siteSettingsWindowManagementMidSentence';
|
||||
case ContentSettingsTypes.ZOOM_LEVELS:
|
||||
return 'siteSettingsZoomLevelsMidSentence';
|
||||
+ case ContentSettingsTypes.AUTOPLAY:
|
||||
+ return 'siteSettingsAutoplayMidSentence';
|
||||
// The following members do not have a mid-sentence localization.
|
||||
case ContentSettingsTypes.ANTI_ABUSE:
|
||||
case ContentSettingsTypes.PDF_DOCUMENTS:
|
||||
diff --git a/chrome/browser/ui/views/page_info/page_info_view_factory.cc b/chrome/browser/ui/views/page_info/page_info_view_factory.cc
|
||||
--- a/chrome/browser/ui/views/page_info/page_info_view_factory.cc
|
||||
+++ b/chrome/browser/ui/views/page_info/page_info_view_factory.cc
|
||||
@@ -369,6 +369,9 @@ const ui::ImageModel PageInfoViewFactory::GetPermissionIcon(
|
||||
case ContentSettingsType::IDLE_DETECTION:
|
||||
icon = &vector_icons::kDevicesIcon;
|
||||
break;
|
||||
+ case ContentSettingsType::AUTOPLAY:
|
||||
+ icon = &vector_icons::kProtectedContentIcon;
|
||||
+ break;
|
||||
default:
|
||||
// All other |ContentSettingsType|s do not have icons on desktop or are
|
||||
// not shown in the Page Info bubble.
|
||||
diff --git a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
|
||||
--- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
|
||||
+++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
|
||||
@@ -2521,6 +2521,13 @@ void AddSearchEnginesStrings(content::WebUIDataSource* html_source) {
|
||||
void AddSiteSettingsStrings(content::WebUIDataSource* html_source,
|
||||
Profile* profile) {
|
||||
static constexpr webui::LocalizedString kLocalizedStrings[] = {
|
||||
+ {"siteSettingsAutoplay", IDS_SITE_SETTINGS_AUTOPLAY_TITLE},
|
||||
+ {"siteSettingsAutoplayDescription", IDS_SETTINGS_SITE_SETTINGS_AUTOPLAY_DESCRIPTION},
|
||||
+ {"siteSettingsAutoplayAllowed", IDS_SETTINGS_SITE_SETTINGS_AUTOPLAY_ALLOWED},
|
||||
+ {"siteSettingsAutoplayBlocked", IDS_SETTINGS_SITE_SETTINGS_AUTOPLAY_BLOCKED},
|
||||
+ {"siteSettingsAutoplayAllowedExceptions",IDS_SETTINGS_SITE_SETTINGS_AUTOPLAY_ALLOWED_EXCEPTIONS},
|
||||
+ {"siteSettingsAutoplayBlockedExceptions", IDS_SETTINGS_SITE_SETTINGS_AUTOPLAY_BLOCKED_EXCEPTIONS},
|
||||
+ {"siteSettingsAutoplayMidSentence", IDS_AUTOPLAY_PERMISSION_TITLE},
|
||||
{"addSite", IDS_SETTINGS_ADD_SITE},
|
||||
{"addSiteTitle", IDS_SETTINGS_ADD_SITE_TITLE},
|
||||
#if BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
diff --git a/chrome/browser/ui/webui/settings/site_settings_helper.cc b/chrome/browser/ui/webui/settings/site_settings_helper.cc
|
||||
--- a/chrome/browser/ui/webui/settings/site_settings_helper.cc
|
||||
+++ b/chrome/browser/ui/webui/settings/site_settings_helper.cc
|
||||
@@ -125,6 +125,7 @@ const ContentSettingsTypeNameEntry kContentSettingsTypeGroupNames[] = {
|
||||
{ContentSettingsType::PRIVATE_NETWORK_CHOOSER_DATA,
|
||||
"private-network-devices-data"},
|
||||
{ContentSettingsType::ANTI_ABUSE, "anti-abuse"},
|
||||
+ {ContentSettingsType::AUTOPLAY, "autoplay"},
|
||||
|
||||
// Add new content settings here if a corresponding Javascript string
|
||||
// representation for it is not required, for example if the content setting
|
||||
@@ -136,7 +137,6 @@ const ContentSettingsTypeNameEntry kContentSettingsTypeGroupNames[] = {
|
||||
{ContentSettingsType::APP_BANNER, nullptr},
|
||||
{ContentSettingsType::SITE_ENGAGEMENT, nullptr},
|
||||
{ContentSettingsType::DURABLE_STORAGE, nullptr},
|
||||
- {ContentSettingsType::AUTOPLAY, nullptr},
|
||||
{ContentSettingsType::IMPORTANT_SITE_INFO, nullptr},
|
||||
{ContentSettingsType::PERMISSION_AUTOBLOCKER_DATA, nullptr},
|
||||
{ContentSettingsType::ADS_DATA, nullptr},
|
||||
@@ -535,6 +535,8 @@ const std::vector<ContentSettingsType>& GetVisiblePermissionCategories() {
|
||||
base_types->push_back(ContentSettingsType::PRIVATE_NETWORK_GUARD);
|
||||
}
|
||||
|
||||
+ base_types->push_back(ContentSettingsType::AUTOPLAY);
|
||||
+
|
||||
initialized = true;
|
||||
}
|
||||
|
||||
--
|
||||
2.25.1
|
||||
@@ -1,254 +0,0 @@
|
||||
From: Your Name <you@example.com>
|
||||
Date: Wed, 12 Oct 2022 16:03:16 +0000
|
||||
Subject: WIN ADDTO Timezone customization
|
||||
|
||||
---
|
||||
chrome/app/settings_strings.grdp | 19 ++++++++++++++++
|
||||
chrome/browser/resources/settings/icons.html | 2 ++
|
||||
.../settings/privacy_page/privacy_page.html | 22 +++++++++++++++++++
|
||||
chrome/browser/resources/settings/route.ts | 1 +
|
||||
chrome/browser/resources/settings/router.ts | 1 +
|
||||
.../site_settings/category_default_setting.ts | 1 +
|
||||
.../settings/site_settings/constants.ts | 1 +
|
||||
.../settings_category_default_radio_group.ts | 1 +
|
||||
.../settings/site_settings/site_details.html | 5 +++++
|
||||
.../site_settings_page/site_settings_page.ts | 9 ++++++++
|
||||
.../site_settings_page_util.ts | 2 ++
|
||||
.../views/page_info/page_info_view_factory.cc | 3 +++
|
||||
.../settings_localized_strings_provider.cc | 7 ++++++
|
||||
.../ui/webui/settings/site_settings_helper.cc | 1 +
|
||||
.../core/browser/content_settings_registry.cc | 2 +-
|
||||
15 files changed, 76 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/chrome/app/settings_strings.grdp b/chrome/app/settings_strings.grdp
|
||||
--- a/chrome/app/settings_strings.grdp
|
||||
+++ b/chrome/app/settings_strings.grdp
|
||||
@@ -4377,6 +4377,25 @@
|
||||
Not allowed to Javascript JIT
|
||||
</message>
|
||||
|
||||
+ <message name="IDS_SITE_SETTINGS_TIMEZONE_OVERRIDE_TITLE" desc="Description of the timezone override content setting page title.">
|
||||
+ Timezone override
|
||||
+ </message>
|
||||
+ <message name="IDS_SETTINGS_SITE_SETTINGS_TIMEZONE_OVERRIDE_DESCRIPTION" desc="Description of the timezone override content setting.">
|
||||
+ Enable the Timezone override
|
||||
+ </message>
|
||||
+ <message name="IDS_SETTINGS_SITE_SETTINGS_TIMEZONE_OVERRIDE_ALLOWED" desc="Label for the enabled option of the timezone override setting.">
|
||||
+ System Timezone
|
||||
+ </message>
|
||||
+ <message name="IDS_SETTINGS_SITE_SETTINGS_TIMEZONE_OVERRIDE_BLOCKED" desc="Label for the disabled option of the timezone override setting.">
|
||||
+ Random Timezone
|
||||
+ </message>
|
||||
+ <message name="IDS_SETTINGS_SITE_SETTINGS_TIMEZONE_OVERRIDE_ALLOWED_EXCEPTIONS" desc="Label for the allowed exceptions site list of the timezone override setting.">
|
||||
+ System Timezone override
|
||||
+ </message>
|
||||
+ <message name="IDS_SETTINGS_SITE_SETTINGS_TIMEZONE_OVERRIDE_BLOCKED_EXCEPTIONS" desc="Label for the blocked exceptions site list of the timezone override setting.">
|
||||
+ Random Timezone override
|
||||
+ </message>
|
||||
+
|
||||
<if expr="not is_chromeos">
|
||||
<!-- Import Settings Dialog -->
|
||||
<message name="IDS_SETTINGS_IMPORT_SETTINGS_TITLE" desc="Dialog title for import dialog.">
|
||||
diff --git a/chrome/browser/resources/settings/icons.html b/chrome/browser/resources/settings/icons.html
|
||||
--- a/chrome/browser/resources/settings/icons.html
|
||||
+++ b/chrome/browser/resources/settings/icons.html
|
||||
@@ -195,6 +195,8 @@ NOTE: Chrome OS icons go in ./chromeos/os_icons.html.
|
||||
<g id="autoplay-off"><path d="M16.25,13.42C16.4,12.97,16.5,12.5,16.5,12c0-1.77-1.02-3.29-2.5-4.03v3.2L16.25,13.42z"></path><path d="M19,12c0,1.21-0.31,2.34-0.85,3.32l1.46,1.46C20.48,15.39,21,13.76,21,12c0-4.28-2.99-7.86-7-8.77v2.06 C16.89,6.15,19,8.83,19,12z"></path><path d="M2.81,2.81L1.39,4.22L6.17,9H3v6h4l5,5v-5.17l3.32,3.32c-0.42,0.23-0.85,0.43-1.32,0.56v2.06c1-0.23,1.94-0.62,2.79-1.15 l2.99,2.99l1.41-1.41L2.81,2.81z"></path><polygon points="12,9.17 12,4 9.41,6.59"></polygon></g>
|
||||
<g id="javascript-jit"><path d="M9.4 16.6L4.8 12l4.6-4.6L8 6l-6 6 6 6 1.4-1.4zm5.2 0l4.6-4.6-4.6-4.6L16 6l6 6-6 6-1.4-1.4z"></path></g>
|
||||
<g id="javascript-jit-off"><path d="M19.17,12l-4.58-4.59L16,6l6,6l-3.59,3.59L17,14.17L19.17,12z M1.39,4.22l4.19,4.19L2,12l6,6l1.41-1.41L4.83,12L7,9.83 l12.78,12.78l1.41-1.41L2.81,2.81L1.39,4.22z"></path></g>
|
||||
+ <g id="timezone-override"><path d="M21.72 11.33l-6.644-7.035a.97.97 0 0 0-1.38-.01l-1.67 1.72-1.617-1.712a.97.97 0 0 0-1.38-.01l-6.737 6.935c-.187.191-.29.447-.292.719-.002.272.099.529.28.722l6.644 7.034a.949.949 0 0 0 1.38.011l1.671-1.718 1.615 1.71a.949.949 0 0 0 1.381.01l6.74-6.935a1.054 1.054 0 0 0 .01-1.44zM6.947 12.464l3.657 3.785-.974.98-5.273-5.456 5.349-5.378.929.962-3.677 3.7a.998.998 0 0 0-.292.702 1 1 0 0 0 .28.705zm7.35 4.768l-.931-.963 3.68-3.7a1.012 1.012 0 0 0 .007-1.407l-3.656-3.784.974-.98 5.273 5.456-5.348 5.378z"></path></g>
|
||||
+ <g id="timezone-override-off"><path d="M7.95,5.12l0.73-0.8C8.88,4.11,9.15,4,9.42,4c0.27,0,0.54,0.11,0.74,0.32L12,6.34l1.85-2.01C14.04,4.11,14.31,4,14.58,4 c0.27,0,0.54,0.11,0.74,0.32l6.42,7c0.35,0.38,0.35,0.97,0,1.35l-2.98,3.25l-1.42-1.42l2.3-2.51l-5.06-5.52l-1.23,1.34l3.21,3.51 c0.35,0.38,0.35,0.97,0,1.35l-0.51,0.56L7.95,5.12z M19.78,22.61l-3.73-3.73l-0.73,0.8c-0.2,0.22-0.47,0.32-0.74,0.32 c-0.27,0-0.54-0.11-0.74-0.32L12,17.66l-1.85,2.01C9.96,19.89,9.69,20,9.42,20c-0.27,0-0.54-0.11-0.74-0.32l-6.42-7 c-0.35-0.38-0.35-0.97,0-1.35l2.98-3.25L1.39,4.22l1.41-1.41l18.38,18.38L19.78,22.61z M10.64,16.18l-3.21-3.51 c-0.35-0.38-0.35-0.97,0-1.35l0.51-0.56L6.66,9.49L4.36,12l5.06,5.52L10.64,16.18z"></path></g>
|
||||
</defs>
|
||||
</svg>
|
||||
</iron-iconset-svg>
|
||||
diff --git a/chrome/browser/resources/settings/privacy_page/privacy_page.html b/chrome/browser/resources/settings/privacy_page/privacy_page.html
|
||||
--- a/chrome/browser/resources/settings/privacy_page/privacy_page.html
|
||||
+++ b/chrome/browser/resources/settings/privacy_page/privacy_page.html
|
||||
@@ -1148,4 +1148,26 @@
|
||||
</category-setting-exceptions>
|
||||
</settings-subpage>
|
||||
</template>
|
||||
+ <template is="dom-if" route-path="/content/timezone-override" no-search>
|
||||
+ <settings-subpage page-title="$i18n{siteSettingsTimezoneOverride}"
|
||||
+ search-label="$i18n{siteSettingsAllSitesSearch}"
|
||||
+ search-term="{{searchFilter_}}">
|
||||
+ <div class="content-settings-header secondary">
|
||||
+ $i18n{siteSettingsTimezoneOverrideDescription}
|
||||
+ </div>
|
||||
+ <settings-category-default-radio-group
|
||||
+ category="[[contentSettingsTypesEnum_.TIMEZONE_OVERRIDE]]"
|
||||
+ allow-option-label="$i18n{siteSettingsTimezoneOverrideAllowed}"
|
||||
+ allow-option-icon="settings:timezone-override"
|
||||
+ block-option-label="$i18n{siteSettingsTimezoneOverrideBlocked}"
|
||||
+ block-option-icon="settings:timezone-override-off">
|
||||
+ </settings-category-default-radio-group>
|
||||
+ <category-setting-exceptions
|
||||
+ category="[[contentSettingsTypesEnum_.TIMEZONE_OVERRIDE]]"
|
||||
+ block-header="$i18n{siteSettingsTimezoneOverrideBlockedExceptions}"
|
||||
+ allow-header="$i18n{siteSettingsTimezoneOverrideAllowedExceptions}"
|
||||
+ search-filter="[[searchFilter_]]">
|
||||
+ </category-setting-exceptions>
|
||||
+ </settings-subpage>
|
||||
+ </template>
|
||||
</settings-animated-pages>
|
||||
diff --git a/chrome/browser/resources/settings/route.ts b/chrome/browser/resources/settings/route.ts
|
||||
--- a/chrome/browser/resources/settings/route.ts
|
||||
+++ b/chrome/browser/resources/settings/route.ts
|
||||
@@ -124,6 +124,7 @@ function addPrivacyChildRoutes(r: Partial<SettingsRoutes>) {
|
||||
r.SITE_SETTINGS_LOCAL_FONTS = r.SITE_SETTINGS.createChild('localFonts');
|
||||
r.SITE_SETTINGS_AUTOPLAY = r.SITE_SETTINGS.createChild('autoplay');
|
||||
r.SITE_SETTINGS_JAVASCRIPT_JIT = r.SITE_SETTINGS.createChild('javascript-jit');
|
||||
+ r.SITE_SETTINGS_TIMEZONE_OVERRIDE = r.SITE_SETTINGS.createChild('timezone-override');
|
||||
}
|
||||
|
||||
/**
|
||||
diff --git a/chrome/browser/resources/settings/router.ts b/chrome/browser/resources/settings/router.ts
|
||||
--- a/chrome/browser/resources/settings/router.ts
|
||||
+++ b/chrome/browser/resources/settings/router.ts
|
||||
@@ -106,6 +106,7 @@ export interface SettingsRoutes {
|
||||
TRIGGERED_RESET_DIALOG: Route;
|
||||
SITE_SETTINGS_AUTOPLAY: Route;
|
||||
SITE_SETTINGS_JAVASCRIPT_JIT: Route;
|
||||
+ SITE_SETTINGS_TIMEZONE_OVERRIDE: Route;
|
||||
}
|
||||
|
||||
/** Class for navigable routes. */
|
||||
diff --git a/chrome/browser/resources/settings/site_settings/category_default_setting.ts b/chrome/browser/resources/settings/site_settings/category_default_setting.ts
|
||||
--- a/chrome/browser/resources/settings/site_settings/category_default_setting.ts
|
||||
+++ b/chrome/browser/resources/settings/site_settings/category_default_setting.ts
|
||||
@@ -197,6 +197,7 @@ export class CategoryDefaultSettingElement extends
|
||||
case ContentSettingsTypes.SOUND:
|
||||
case ContentSettingsTypes.AUTOPLAY:
|
||||
case ContentSettingsTypes.JAVASCRIPT_JIT:
|
||||
+ case ContentSettingsTypes.TIMEZONE_OVERRIDE:
|
||||
// "Allowed" vs "Blocked".
|
||||
this.browserProxy.setDefaultValueForContentType(
|
||||
this.category,
|
||||
diff --git a/chrome/browser/resources/settings/site_settings/constants.ts b/chrome/browser/resources/settings/site_settings/constants.ts
|
||||
--- a/chrome/browser/resources/settings/site_settings/constants.ts
|
||||
+++ b/chrome/browser/resources/settings/site_settings/constants.ts
|
||||
@@ -48,6 +48,7 @@ export enum ContentSettingsTypes {
|
||||
ZOOM_LEVELS = 'zoom-levels',
|
||||
AUTOPLAY = 'autoplay',
|
||||
JAVASCRIPT_JIT = 'javascript-jit',
|
||||
+ TIMEZONE_OVERRIDE = 'timezone-override',
|
||||
|
||||
// The following items are not in the C++ kContentSettingsTypeGroupNames, but
|
||||
// are used everywhere where ContentSettingsTypes is used in JS.
|
||||
diff --git a/chrome/browser/resources/settings/site_settings/settings_category_default_radio_group.ts b/chrome/browser/resources/settings/site_settings/settings_category_default_radio_group.ts
|
||||
--- a/chrome/browser/resources/settings/site_settings/settings_category_default_radio_group.ts
|
||||
+++ b/chrome/browser/resources/settings/site_settings/settings_category_default_radio_group.ts
|
||||
@@ -141,6 +141,7 @@ export class SettingsCategoryDefaultRadioGroupElement extends
|
||||
case ContentSettingsTypes.SOUND:
|
||||
case ContentSettingsTypes.AUTOPLAY:
|
||||
case ContentSettingsTypes.JAVASCRIPT_JIT:
|
||||
+ case ContentSettingsTypes.TIMEZONE_OVERRIDE:
|
||||
// "Allowed" vs "Blocked".
|
||||
return ContentSetting.ALLOW;
|
||||
case ContentSettingsTypes.AR:
|
||||
diff --git a/chrome/browser/resources/settings/site_settings/site_details.html b/chrome/browser/resources/settings/site_settings/site_details.html
|
||||
--- a/chrome/browser/resources/settings/site_settings/site_details.html
|
||||
+++ b/chrome/browser/resources/settings/site_settings/site_details.html
|
||||
@@ -276,4 +276,9 @@
|
||||
icon="settings:javascript-jit"
|
||||
label="$i18n{siteSettingsJavascriptJIT}">
|
||||
</site-details-permission>
|
||||
+ <site-details-permission
|
||||
+ category="[[contentSettingsTypesEnum_.TIMEZONE_OVERRIDE]]"
|
||||
+ icon="settings:timezone-override"
|
||||
+ label="$i18n{siteSettingsTimezoneOverride}">
|
||||
+ </site-details-permission>
|
||||
</div>
|
||||
diff --git a/chrome/browser/resources/settings/site_settings_page/site_settings_page.ts b/chrome/browser/resources/settings/site_settings_page/site_settings_page.ts
|
||||
--- a/chrome/browser/resources/settings/site_settings_page/site_settings_page.ts
|
||||
+++ b/chrome/browser/resources/settings/site_settings_page/site_settings_page.ts
|
||||
@@ -350,6 +350,14 @@ function getCategoryItemMap(): Map<ContentSettingsTypes, CategoryListItem> {
|
||||
enabledLabel: 'siteSettingsJavascriptJITAllowed',
|
||||
disabledLabel: 'siteSettingsJavascriptJITBlocked',
|
||||
},
|
||||
+ {
|
||||
+ route: routes.SITE_SETTINGS_TIMEZONE_OVERRIDE,
|
||||
+ id: Id.TIMEZONE_OVERRIDE,
|
||||
+ label: 'siteSettingsTimezoneOverride',
|
||||
+ icon: 'settings:timezone-override',
|
||||
+ enabledLabel: 'siteSettingsTimezoneOverrideAllowed',
|
||||
+ disabledLabel: 'siteSettingsTimezoneOverrideBlocked',
|
||||
+ },
|
||||
];
|
||||
|
||||
categoryItemMap = new Map(categoryList.map(item => [item.id, item]));
|
||||
@@ -445,6 +453,7 @@ export class SettingsSiteSettingsPageElement extends
|
||||
Id.SITE_DATA,
|
||||
Id.AUTOPLAY,
|
||||
Id.JAVASCRIPT_JIT,
|
||||
+ Id.TIMEZONE_OVERRIDE,
|
||||
]),
|
||||
};
|
||||
},
|
||||
diff --git a/chrome/browser/resources/settings/site_settings_page/site_settings_page_util.ts b/chrome/browser/resources/settings/site_settings_page/site_settings_page_util.ts
|
||||
--- a/chrome/browser/resources/settings/site_settings_page/site_settings_page_util.ts
|
||||
+++ b/chrome/browser/resources/settings/site_settings_page/site_settings_page_util.ts
|
||||
@@ -81,6 +81,8 @@ export function getLocalizationStringForContentType(
|
||||
return 'siteSettingsAutoplayMidSentence';
|
||||
case ContentSettingsTypes.JAVASCRIPT_JIT:
|
||||
return 'siteSettingsJavascriptJITMidSentence';
|
||||
+ case ContentSettingsTypes.TIMEZONE_OVERRIDE:
|
||||
+ return 'siteSettingsTimezoneOverrideMidSentence';
|
||||
// The following members do not have a mid-sentence localization.
|
||||
case ContentSettingsTypes.ANTI_ABUSE:
|
||||
case ContentSettingsTypes.PDF_DOCUMENTS:
|
||||
diff --git a/chrome/browser/ui/views/page_info/page_info_view_factory.cc b/chrome/browser/ui/views/page_info/page_info_view_factory.cc
|
||||
--- a/chrome/browser/ui/views/page_info/page_info_view_factory.cc
|
||||
+++ b/chrome/browser/ui/views/page_info/page_info_view_factory.cc
|
||||
@@ -375,6 +375,9 @@ const ui::ImageModel PageInfoViewFactory::GetPermissionIcon(
|
||||
case ContentSettingsType::JAVASCRIPT_JIT:
|
||||
icon = &vector_icons::kCodeIcon;
|
||||
break;
|
||||
+ case ContentSettingsType::TIMEZONE_OVERRIDE:
|
||||
+ icon = &vector_icons::kAccountCircleIcon;
|
||||
+ break;
|
||||
default:
|
||||
// All other |ContentSettingsType|s do not have icons on desktop or are
|
||||
// not shown in the Page Info bubble.
|
||||
diff --git a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
|
||||
--- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
|
||||
+++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc
|
||||
@@ -2535,6 +2535,13 @@ void AddSiteSettingsStrings(content::WebUIDataSource* html_source,
|
||||
{"siteSettingsJavascriptJITAllowedExceptions",IDS_SETTINGS_SITE_SETTINGS_JAVASCRIPT_JIT_ALLOWED_EXCEPTIONS},
|
||||
{"siteSettingsJavascriptJITBlockedExceptions", IDS_SETTINGS_SITE_SETTINGS_JAVASCRIPT_JIT_BLOCKED_EXCEPTIONS},
|
||||
{"siteSettingsJavascriptJITMidSentence", IDS_SITE_SETTINGS_TYPE_JAVASCRIPT_JIT},
|
||||
+ {"siteSettingsTimezoneOverride", IDS_SITE_SETTINGS_TIMEZONE_OVERRIDE_TITLE},
|
||||
+ {"siteSettingsTimezoneOverrideDescription", IDS_SETTINGS_SITE_SETTINGS_TIMEZONE_OVERRIDE_DESCRIPTION},
|
||||
+ {"siteSettingsTimezoneOverrideAllowed", IDS_SETTINGS_SITE_SETTINGS_TIMEZONE_OVERRIDE_ALLOWED},
|
||||
+ {"siteSettingsTimezoneOverrideBlocked", IDS_SETTINGS_SITE_SETTINGS_TIMEZONE_OVERRIDE_BLOCKED},
|
||||
+ {"siteSettingsTimezoneOverrideAllowedExceptions",IDS_SETTINGS_SITE_SETTINGS_TIMEZONE_OVERRIDE_ALLOWED_EXCEPTIONS},
|
||||
+ {"siteSettingsTimezoneOverrideBlockedExceptions", IDS_SETTINGS_SITE_SETTINGS_TIMEZONE_OVERRIDE_BLOCKED_EXCEPTIONS},
|
||||
+ {"siteSettingsTimezoneOverrideMidSentence", IDS_SITE_SETTINGS_TIMEZONE_OVERRIDE_TITLE},
|
||||
{"addSite", IDS_SETTINGS_ADD_SITE},
|
||||
{"addSiteTitle", IDS_SETTINGS_ADD_SITE_TITLE},
|
||||
#if BUILDFLAG(IS_CHROMEOS_ASH)
|
||||
diff --git a/chrome/browser/ui/webui/settings/site_settings_helper.cc b/chrome/browser/ui/webui/settings/site_settings_helper.cc
|
||||
--- a/chrome/browser/ui/webui/settings/site_settings_helper.cc
|
||||
+++ b/chrome/browser/ui/webui/settings/site_settings_helper.cc
|
||||
@@ -127,6 +127,7 @@ const ContentSettingsTypeNameEntry kContentSettingsTypeGroupNames[] = {
|
||||
{ContentSettingsType::ANTI_ABUSE, "anti-abuse"},
|
||||
{ContentSettingsType::AUTOPLAY, "autoplay"},
|
||||
{ContentSettingsType::JAVASCRIPT_JIT, "javascript-jit"},
|
||||
+ {ContentSettingsType::TIMEZONE_OVERRIDE, "timezone-override"},
|
||||
|
||||
// Add new content settings here if a corresponding Javascript string
|
||||
// representation for it is not required, for example if the content setting
|
||||
diff --git a/components/content_settings/core/browser/content_settings_registry.cc b/components/content_settings/core/browser/content_settings_registry.cc
|
||||
--- a/components/content_settings/core/browser/content_settings_registry.cc
|
||||
+++ b/components/content_settings/core/browser/content_settings_registry.cc
|
||||
@@ -577,7 +577,7 @@ void ContentSettingsRegistry::Init() {
|
||||
CONTENT_SETTING_ASK, // custom timezone, default UTC
|
||||
CONTENT_SETTING_BLOCK}, // random
|
||||
WebsiteSettingsInfo::TOP_ORIGIN_ONLY_SCOPE,
|
||||
- WebsiteSettingsRegistry::PLATFORM_ANDROID,
|
||||
+ WebsiteSettingsRegistry::ALL_PLATFORMS,
|
||||
ContentSettingsInfo::INHERIT_IN_INCOGNITO,
|
||||
ContentSettingsInfo::EXCEPTIONS_ON_SECURE_AND_INSECURE_ORIGINS,
|
||||
/*show_into_info_page*/ false,
|
||||
--
|
||||
2.25.1
|
||||
@@ -5,15 +5,16 @@ Subject: bromite build utils
|
||||
---
|
||||
build/android/gyp/java_cpp_enum.py | 36 ++++++--
|
||||
build/android/gyp/util/build_utils.py | 25 +++++-
|
||||
build/bromite/bromite_utils.gni | 68 +++++++++++++++
|
||||
build/bromite/bromite_utils.gni | 69 ++++++++++++++
|
||||
build/bromite/gyp/cpp_bromite_include.py | 35 ++++++++
|
||||
build/bromite/gyp/cpp_bromite_include.pydeps | 9 ++
|
||||
build/bromite/gyp/java_bromite_impl.py | 92 ++++++++++++++++++++
|
||||
build/bromite/gyp/java_bromite_impl.py | 94 ++++++++++++++++++++
|
||||
build/bromite/gyp/java_bromite_impl.pydeps | 9 ++
|
||||
build/config/BUILDCONFIG.gn | 1 +
|
||||
build/config/android/rules.gni | 4 +
|
||||
tools/grit/grit/grd_reader.py | 27 ++++--
|
||||
10 files changed, 294 insertions(+), 12 deletions(-)
|
||||
tools/grit/preprocess_if_expr.py | 32 ++++++-
|
||||
11 files changed, 328 insertions(+), 13 deletions(-)
|
||||
create mode 100644 build/bromite/bromite_utils.gni
|
||||
create mode 100644 build/bromite/gyp/cpp_bromite_include.py
|
||||
create mode 100644 build/bromite/gyp/cpp_bromite_include.pydeps
|
||||
@@ -153,7 +154,7 @@ diff --git a/build/bromite/bromite_utils.gni b/build/bromite/bromite_utils.gni
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/build/bromite/bromite_utils.gni
|
||||
@@ -0,0 +1,68 @@
|
||||
@@ -0,0 +1,69 @@
|
||||
+import("//build/config/python.gni")
|
||||
+
|
||||
+# generates the file specified in ouput_file containing
|
||||
@@ -179,10 +180,11 @@ new file mode 100644
|
||||
+ forward_variables_from(invoker,
|
||||
+ TESTONLY_AND_VISIBILITY + [
|
||||
+ "deps",
|
||||
+ "inputs",
|
||||
+ ])
|
||||
+ script = "//build/bromite/gyp/cpp_bromite_include.py"
|
||||
+
|
||||
+ _rebased_directories = rebase_path(invoker.directories, root_build_dir)
|
||||
+ _rebased_directories = rebase_path(invoker.inputs, root_build_dir)
|
||||
+ _output = "$target_gen_dir/" + invoker.output_file
|
||||
+ _output_rebased = rebase_path(_output)
|
||||
+
|
||||
@@ -210,7 +212,7 @@ new file mode 100644
|
||||
+
|
||||
+ _srcjar_path = "${target_gen_dir}/${target_name}.srcjar"
|
||||
+ _rebased_srcjar_path = rebase_path(_srcjar_path, root_build_dir)
|
||||
+ _rebased_directories = rebase_path(invoker.directories, root_build_dir)
|
||||
+ _rebased_directories = rebase_path(invoker.inputs, root_build_dir)
|
||||
+ _rebased_template = rebase_path(invoker.template, root_build_dir)
|
||||
+
|
||||
+ args = [
|
||||
@@ -249,7 +251,7 @@ new file mode 100644
|
||||
+ directory = os.path.dirname(include_file)
|
||||
+ files = []
|
||||
+ for root, dirs, directory_files in os.walk(directory):
|
||||
+ for directory_file in directory_files:
|
||||
+ for directory_file in sorted(directory_files):
|
||||
+ files.append(os.path.join(directory, directory_file))
|
||||
+
|
||||
+ files = [f for f in files if f.endswith('.inc')]
|
||||
@@ -280,7 +282,7 @@ diff --git a/build/bromite/gyp/java_bromite_impl.py b/build/bromite/gyp/java_bro
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/build/bromite/gyp/java_bromite_impl.py
|
||||
@@ -0,0 +1,92 @@
|
||||
@@ -0,0 +1,94 @@
|
||||
+#!/usr/bin/env python3
|
||||
+
|
||||
+import argparse
|
||||
@@ -336,8 +338,10 @@ new file mode 100644
|
||||
+ strings = []
|
||||
+
|
||||
+ for directory in source_paths:
|
||||
+ for root, dirs, directory_files in os.walk(directory):
|
||||
+ for directory_file in directory_files:
|
||||
+ if not directory.endswith('include_all_directory.java'):
|
||||
+ raise Exception("input path not ends with 'include_all_directory.java'")
|
||||
+ for root, dirs, directory_files in os.walk(os.path.dirname(directory)):
|
||||
+ for directory_file in sorted(directory_files):
|
||||
+ strings.append(directory_file)
|
||||
+
|
||||
+ strings = [f.replace('.java', '') for f in strings
|
||||
@@ -449,5 +453,61 @@ diff --git a/tools/grit/grit/grd_reader.py b/tools/grit/grit/grd_reader.py
|
||||
|
||||
if self.debug:
|
||||
print("End parsing of element %s" % name)
|
||||
diff --git a/tools/grit/preprocess_if_expr.py b/tools/grit/preprocess_if_expr.py
|
||||
--- a/tools/grit/preprocess_if_expr.py
|
||||
+++ b/tools/grit/preprocess_if_expr.py
|
||||
@@ -8,6 +8,7 @@ import io
|
||||
import json
|
||||
import os
|
||||
import sys
|
||||
+import re
|
||||
|
||||
# For Node, EvaluateExpression
|
||||
import grit.node.base
|
||||
@@ -71,6 +72,35 @@ def ExtensionForComments(input_file):
|
||||
extension = '.html'
|
||||
return extension
|
||||
|
||||
+def _extract_template_from_dir(html_file):
|
||||
+ template = ''
|
||||
+ directory = os.path.dirname(html_file)
|
||||
+ for root, dirs, directory_files in os.walk(directory):
|
||||
+ for directory_file in directory_files:
|
||||
+ if directory_file.endswith(".html"):
|
||||
+ template += _extract_template(os.path.join(directory, directory_file))
|
||||
+
|
||||
+ return template
|
||||
+
|
||||
+def _extract_template(html_file):
|
||||
+ include_re = re.compile(r'^\s*<include\s*path="(.*)"\s*/>')
|
||||
+ with io.open(html_file, encoding='utf-8', mode='r') as f:
|
||||
+ lines = f.readlines()
|
||||
+
|
||||
+ template_lines = []
|
||||
+ for line in lines:
|
||||
+ include_line = include_re.match(line)
|
||||
+ if include_line:
|
||||
+ include_file = include_line.groups()[0]
|
||||
+ file_to_include = os.path.join(os.path.dirname(html_file), include_file)
|
||||
+ if file_to_include.endswith("placeholder.txt"):
|
||||
+ line = _extract_template_from_dir(file_to_include)
|
||||
+ else:
|
||||
+ line = _extract_template(file_to_include)
|
||||
+ template_lines.append(line)
|
||||
+
|
||||
+ template = ''.join(template_lines)
|
||||
+ return template
|
||||
|
||||
def main(argv):
|
||||
parser = argparse.ArgumentParser()
|
||||
@@ -95,7 +125,7 @@ def main(argv):
|
||||
in_path = os.path.join(in_folder, input_file)
|
||||
content = ""
|
||||
with open(in_path, encoding='utf-8') as f:
|
||||
- content = f.read()
|
||||
+ content = _extract_template(in_path)
|
||||
|
||||
removal_comments_extension = None # None means no removal comments
|
||||
if args.enable_removal_comments:
|
||||
--
|
||||
2.25.1
|
||||
|
||||
@@ -9,17 +9,17 @@ Requires patch: Content-settings-infrastructure.patch
|
||||
Original License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
---
|
||||
.../impl/BromiteWebGLContentSetting.java | 87 +++++++++++++++++++
|
||||
.../bromite_content_settings/webgl.grdp | 18 ++++
|
||||
.../bromite_content_settings/webgl.inc | 13 +++
|
||||
.../impl/BromiteWebGLContentSetting.java | 92 +++++++++++++++++++
|
||||
.../bromite_content_settings/webgl.grdp | 27 ++++++
|
||||
.../bromite_content_settings/webgl.inc | 23 +++++
|
||||
.../common/bromite_content_settings/WEBGL.inc | 1 +
|
||||
.../execution_context/execution_context.cc | 7 ++
|
||||
.../execution_context/execution_context.h | 2 +
|
||||
.../webgl/webgl_rendering_context_base.cc | 32 +++----
|
||||
.../webgl/webgl_rendering_context_base.h | 2 +
|
||||
8 files changed, 143 insertions(+), 19 deletions(-)
|
||||
8 files changed, 167 insertions(+), 19 deletions(-)
|
||||
create mode 100644 components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/impl/BromiteWebGLContentSetting.java
|
||||
create mode 100644 components/browser_ui/strings/android/bromite_content_settings/webgl.grdp
|
||||
create mode 100644 components/browser_ui/strings/bromite_content_settings/webgl.grdp
|
||||
create mode 100644 components/content_settings/core/browser/bromite_content_settings/webgl.inc
|
||||
create mode 100644 components/content_settings/core/common/bromite_content_settings/WEBGL.inc
|
||||
|
||||
@@ -27,7 +27,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/impl/BromiteWebGLContentSetting.java
|
||||
@@ -0,0 +1,87 @@
|
||||
@@ -0,0 +1,92 @@
|
||||
+/*
|
||||
+ This file is part of Bromite.
|
||||
+
|
||||
@@ -96,6 +96,11 @@ new file mode 100644
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public int getCategoryDescription() {
|
||||
+ return R.string.settings_site_settings_webgl_description;
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public boolean requiresTriStateContentSetting() {
|
||||
+ return false;
|
||||
+ }
|
||||
@@ -115,34 +120,43 @@ new file mode 100644
|
||||
+ return value != ContentSettingValues.BLOCK;
|
||||
+ }
|
||||
+}
|
||||
diff --git a/components/browser_ui/strings/android/bromite_content_settings/webgl.grdp b/components/browser_ui/strings/android/bromite_content_settings/webgl.grdp
|
||||
diff --git a/components/browser_ui/strings/bromite_content_settings/webgl.grdp b/components/browser_ui/strings/bromite_content_settings/webgl.grdp
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/components/browser_ui/strings/android/bromite_content_settings/webgl.grdp
|
||||
@@ -0,0 +1,18 @@
|
||||
+++ b/components/browser_ui/strings/bromite_content_settings/webgl.grdp
|
||||
@@ -0,0 +1,27 @@
|
||||
+<?xml version="1.0" encoding="utf-8"?>
|
||||
+<grit-part>
|
||||
+ <message name="IDS_SITE_SETTINGS_TYPE_WEBGL" desc="The label used for webgl site settings controls.">
|
||||
+ <message name="IDS_SITE_SETTINGS_TYPE_WEBGL" desc="The label used for webgl site settings controls." formatter_data="android_java">
|
||||
+ Webgl
|
||||
+ </message>
|
||||
+ <message name="IDS_SITE_SETTINGS_TYPE_WEBGL_MID_SENTENCE" desc="The label used for webgl site settings controls when used mid-sentence.">
|
||||
+ <message name="IDS_SETTINGS_SITE_SETTINGS_WEBGL_DESCRIPTION" desc="Description of the webgl content setting." formatter_data="android_java">
|
||||
+ Enable Webgl, a JavaScript API for rendering high-performance interactive 3D and 2D graphics
|
||||
+ </message>
|
||||
+ <message name="IDS_SITE_SETTINGS_TYPE_WEBGL_MID_SENTENCE" desc="The label used for webgl site settings controls when used mid-sentence." formatter_data="android_java">
|
||||
+ webgl
|
||||
+ </message>
|
||||
+ <message name="IDS_WEBGL_PERMISSION_TITLE" desc="Title of the permission to use webgl [CHAR-LIMIT=32]">
|
||||
+ <message name="IDS_WEBGL_PERMISSION_TITLE" desc="Title of the permission to use webgl [CHAR-LIMIT=32]" formatter_data="android_java">
|
||||
+ Webgl
|
||||
+ </message>
|
||||
+ <message name="IDS_WEBSITE_SETTINGS_CATEGORY_WEBGL_ENABLED" desc="Summary text explaining that webgl is full enabled.">
|
||||
+ <message name="IDS_WEBSITE_SETTINGS_CATEGORY_WEBGL_ENABLED" desc="Summary text explaining that webgl is full enabled." formatter_data="android_java">
|
||||
+ Enabled
|
||||
+ </message>
|
||||
+ <message name="IDS_WEBSITE_SETTINGS_CATEGORY_WEBGL_DISABLED" desc="Summary text explaining that webgl is full disabled.">
|
||||
+ <message name="IDS_WEBSITE_SETTINGS_CATEGORY_WEBGL_DISABLED" desc="Summary text explaining that webgl is full disabled." formatter_data="android_java">
|
||||
+ Disabled
|
||||
+ </message>
|
||||
+ <message name="IDS_SETTINGS_SITE_SETTINGS_WEBGL_ALLOWED_EXCEPTIONS" desc="Label for the allowed exceptions site list of the webgl setting.">
|
||||
+ Allowed to use webgl
|
||||
+ </message>
|
||||
+ <message name="IDS_SETTINGS_SITE_SETTINGS_WEBGL_BLOCKED_EXCEPTIONS" desc="Label for the blocked exceptions site list of the webgl setting.">
|
||||
+ Not allowed to use webgl
|
||||
+ </message>
|
||||
+</grit-part>
|
||||
diff --git a/components/content_settings/core/browser/bromite_content_settings/webgl.inc b/components/content_settings/core/browser/bromite_content_settings/webgl.inc
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/components/content_settings/core/browser/bromite_content_settings/webgl.inc
|
||||
@@ -0,0 +1,13 @@
|
||||
@@ -0,0 +1,23 @@
|
||||
+ Register(ContentSettingsType::WEBGL, "webgl", CONTENT_SETTING_BLOCK,
|
||||
+ WebsiteSettingsInfo::SYNCABLE,
|
||||
+ /*allowlisted_schemes=*/{},
|
||||
@@ -151,11 +165,21 @@ new file mode 100644
|
||||
+ WebsiteSettingsInfo::TOP_ORIGIN_ONLY_SCOPE,
|
||||
+ WebsiteSettingsRegistry::ALL_PLATFORMS,
|
||||
+ ContentSettingsInfo::INHERIT_IN_INCOGNITO,
|
||||
+ ContentSettingsInfo::EXCEPTIONS_ON_SECURE_AND_INSECURE_ORIGINS,
|
||||
+ /*show_into_info_page*/ true,
|
||||
+ /*is_renderer_content_setting*/ true,
|
||||
+ /*permission_type_ui*/ IDS_SITE_SETTINGS_TYPE_WEBGL,
|
||||
+ /*permission_type_ui_mid_sentence*/ IDS_SITE_SETTINGS_TYPE_WEBGL_MID_SENTENCE);
|
||||
+ ContentSettingsInfo::EXCEPTIONS_ON_SECURE_AND_INSECURE_ORIGINS);
|
||||
+
|
||||
+ content_settings::WebsiteSettingsRegistry::GetInstance()
|
||||
+ ->GetMutable(ContentSettingsType::WEBGL)
|
||||
+ ->set_show_into_info_page()
|
||||
+ .set_desktop_ui()
|
||||
+ .set_is_renderer_content_setting()
|
||||
+ .set_title_ui(IDS_SITE_SETTINGS_TYPE_WEBGL)
|
||||
+ .set_description_ui(IDS_SETTINGS_SITE_SETTINGS_WEBGL_DESCRIPTION)
|
||||
+ .set_allowed_ui(IDS_WEBSITE_SETTINGS_CATEGORY_WEBGL_ENABLED)
|
||||
+ .set_blocked_ui(IDS_WEBSITE_SETTINGS_CATEGORY_WEBGL_DISABLED)
|
||||
+ .set_allowed_exceptions_ui(IDS_SETTINGS_SITE_SETTINGS_WEBGL_ALLOWED_EXCEPTIONS)
|
||||
+ .set_blocked_exceptions_ui(IDS_SETTINGS_SITE_SETTINGS_WEBGL_BLOCKED_EXCEPTIONS)
|
||||
+ .set_mid_sentence_ui(IDS_SITE_SETTINGS_TYPE_WEBGL);
|
||||
+
|
||||
diff --git a/components/content_settings/core/common/bromite_content_settings/WEBGL.inc b/components/content_settings/core/common/bromite_content_settings/WEBGL.inc
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
|
||||
@@ -7,16 +7,16 @@ Requires patch: Content-settings-infrastructure.patch
|
||||
Original License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
|
||||
License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
---
|
||||
.../impl/BromiteWebRTCContentSetting.java | 88 +++++++++++++++++++
|
||||
.../bromite_content_settings/webrtc.grdp | 18 ++++
|
||||
.../bromite_content_settings/webrtc.inc | 13 +++
|
||||
.../impl/BromiteWebRTCContentSetting.java | 93 +++++++++++++++++++
|
||||
.../bromite_content_settings/webrtc.grdp | 27 ++++++
|
||||
.../bromite_content_settings/webrtc.inc | 23 +++++
|
||||
.../bromite_content_settings/WEBRTC.inc | 1 +
|
||||
.../peer_connection_dependency_factory.cc | 6 ++
|
||||
.../peerconnection/rtc_rtp_receiver.cc | 10 +++
|
||||
.../modules/peerconnection/rtc_rtp_sender.cc | 10 +++
|
||||
7 files changed, 146 insertions(+)
|
||||
.../peerconnection/rtc_rtp_receiver.cc | 10 ++
|
||||
.../modules/peerconnection/rtc_rtp_sender.cc | 10 ++
|
||||
7 files changed, 170 insertions(+)
|
||||
create mode 100644 components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/impl/BromiteWebRTCContentSetting.java
|
||||
create mode 100644 components/browser_ui/strings/android/bromite_content_settings/webrtc.grdp
|
||||
create mode 100644 components/browser_ui/strings/bromite_content_settings/webrtc.grdp
|
||||
create mode 100644 components/content_settings/core/browser/bromite_content_settings/webrtc.inc
|
||||
create mode 100644 components/content_settings/core/common/bromite_content_settings/WEBRTC.inc
|
||||
|
||||
@@ -24,7 +24,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/impl/BromiteWebRTCContentSetting.java
|
||||
@@ -0,0 +1,88 @@
|
||||
@@ -0,0 +1,93 @@
|
||||
+/*
|
||||
+ This file is part of Bromite.
|
||||
+
|
||||
@@ -94,6 +94,11 @@ new file mode 100644
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public int getCategoryDescription() {
|
||||
+ return R.string.settings_site_settings_webrtc_description;
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public boolean requiresTriStateContentSetting() {
|
||||
+ return false;
|
||||
+ }
|
||||
@@ -113,34 +118,43 @@ new file mode 100644
|
||||
+ return value != ContentSettingValues.BLOCK;
|
||||
+ }
|
||||
+}
|
||||
diff --git a/components/browser_ui/strings/android/bromite_content_settings/webrtc.grdp b/components/browser_ui/strings/android/bromite_content_settings/webrtc.grdp
|
||||
diff --git a/components/browser_ui/strings/bromite_content_settings/webrtc.grdp b/components/browser_ui/strings/bromite_content_settings/webrtc.grdp
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/components/browser_ui/strings/android/bromite_content_settings/webrtc.grdp
|
||||
@@ -0,0 +1,18 @@
|
||||
+++ b/components/browser_ui/strings/bromite_content_settings/webrtc.grdp
|
||||
@@ -0,0 +1,27 @@
|
||||
+<?xml version="1.0" encoding="utf-8"?>
|
||||
+<grit-part>
|
||||
+ <message name="IDS_SITE_SETTINGS_TYPE_WEBRTC" desc="The label used for webrtc site settings controls.">
|
||||
+ <message name="IDS_SITE_SETTINGS_TYPE_WEBRTC" desc="The label used for webrtc site settings controls." formatter_data="android_java">
|
||||
+ WebRTC
|
||||
+ </message>
|
||||
+ <message name="IDS_SITE_SETTINGS_TYPE_WEBRTC_MID_SENTENCE" desc="The label used for webrtc site settings controls when used mid-sentence.">
|
||||
+ <message name="IDS_SITE_SETTINGS_TYPE_WEBRTC_MID_SENTENCE" desc="The label used for webrtc site settings controls when used mid-sentence." formatter_data="android_java">
|
||||
+ webRTC
|
||||
+ </message>
|
||||
+ <message name="IDS_WEBRTC_PERMISSION_TITLE" desc="Title of the permission to use webrtc [CHAR-LIMIT=32]">
|
||||
+ <message name="IDS_SETTINGS_SITE_SETTINGS_WEBRTC_DESCRIPTION" desc="Description of the WebRTC content setting." formatter_data="android_java">
|
||||
+ Enable WebRTC, a JavaScript API for real-time communication and direct peer-to-peer communication
|
||||
+ </message>
|
||||
+ <message name="IDS_WEBRTC_PERMISSION_TITLE" desc="Title of the permission to use webrtc [CHAR-LIMIT=32]" formatter_data="android_java">
|
||||
+ WebRTC
|
||||
+ </message>
|
||||
+ <message name="IDS_WEBSITE_SETTINGS_CATEGORY_WEBRTC_ENABLED" desc="Summary text explaining that webrtc is full enabled.">
|
||||
+ <message name="IDS_WEBSITE_SETTINGS_CATEGORY_WEBRTC_ENABLED" desc="Summary text explaining that webrtc is full enabled." formatter_data="android_java">
|
||||
+ Enabled
|
||||
+ </message>
|
||||
+ <message name="IDS_WEBSITE_SETTINGS_CATEGORY_WEBRTC_DISABLED" desc="Summary text explaining that webrtc is full disabled.">
|
||||
+ <message name="IDS_WEBSITE_SETTINGS_CATEGORY_WEBRTC_DISABLED" desc="Summary text explaining that webrtc is full disabled." formatter_data="android_java">
|
||||
+ Disabled
|
||||
+ </message>
|
||||
+ <message name="IDS_SETTINGS_SITE_SETTINGS_WEBRTC_ALLOWED_EXCEPTIONS" desc="Label for the allowed exceptions site list of the WebRTC setting.">
|
||||
+ Allowed to use WebRTC
|
||||
+ </message>
|
||||
+ <message name="IDS_SETTINGS_SITE_SETTINGS_WEBRTC_BLOCKED_EXCEPTIONS" desc="Label for the blocked exceptions site list of the WebRTC setting.">
|
||||
+ Not allowed to use WebRTC
|
||||
+ </message>
|
||||
+</grit-part>
|
||||
diff --git a/components/content_settings/core/browser/bromite_content_settings/webrtc.inc b/components/content_settings/core/browser/bromite_content_settings/webrtc.inc
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/components/content_settings/core/browser/bromite_content_settings/webrtc.inc
|
||||
@@ -0,0 +1,13 @@
|
||||
@@ -0,0 +1,23 @@
|
||||
+ Register(ContentSettingsType::WEBRTC, "webrtc", CONTENT_SETTING_BLOCK,
|
||||
+ WebsiteSettingsInfo::SYNCABLE,
|
||||
+ /*allowlisted_schemes=*/{},
|
||||
@@ -149,11 +163,21 @@ new file mode 100644
|
||||
+ WebsiteSettingsInfo::TOP_ORIGIN_ONLY_SCOPE,
|
||||
+ WebsiteSettingsRegistry::ALL_PLATFORMS,
|
||||
+ ContentSettingsInfo::INHERIT_IN_INCOGNITO,
|
||||
+ ContentSettingsInfo::EXCEPTIONS_ON_SECURE_AND_INSECURE_ORIGINS,
|
||||
+ /*show_into_info_page*/ true,
|
||||
+ /*is_renderer_content_setting*/ true,
|
||||
+ /*permission_type_ui*/ IDS_SITE_SETTINGS_TYPE_WEBRTC,
|
||||
+ /*permission_type_ui_mid_sentence*/ IDS_SITE_SETTINGS_TYPE_WEBRTC_MID_SENTENCE);
|
||||
+ ContentSettingsInfo::EXCEPTIONS_ON_SECURE_AND_INSECURE_ORIGINS);
|
||||
+
|
||||
+ content_settings::WebsiteSettingsRegistry::GetInstance()
|
||||
+ ->GetMutable(ContentSettingsType::WEBRTC)
|
||||
+ ->set_show_into_info_page()
|
||||
+ .set_desktop_ui()
|
||||
+ .set_is_renderer_content_setting()
|
||||
+ .set_title_ui(IDS_SITE_SETTINGS_TYPE_WEBRTC)
|
||||
+ .set_description_ui(IDS_SETTINGS_SITE_SETTINGS_WEBRTC_DESCRIPTION)
|
||||
+ .set_allowed_ui(IDS_WEBSITE_SETTINGS_CATEGORY_WEBRTC_ENABLED)
|
||||
+ .set_blocked_ui(IDS_WEBSITE_SETTINGS_CATEGORY_WEBRTC_DISABLED)
|
||||
+ .set_allowed_exceptions_ui(IDS_SETTINGS_SITE_SETTINGS_WEBRTC_ALLOWED_EXCEPTIONS)
|
||||
+ .set_blocked_exceptions_ui(IDS_SETTINGS_SITE_SETTINGS_WEBRTC_BLOCKED_EXCEPTIONS)
|
||||
+ .set_mid_sentence_ui(IDS_SITE_SETTINGS_TYPE_WEBRTC_MID_SENTENCE);
|
||||
+
|
||||
diff --git a/components/content_settings/core/common/bromite_content_settings/WEBRTC.inc b/components/content_settings/core/common/bromite_content_settings/WEBRTC.inc
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -18,22 +18,24 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../permission_javascript_jit.png | Bin 0 -> 518 bytes
|
||||
.../permission_javascript_jit.png | Bin 0 -> 629 bytes
|
||||
.../permission_javascript_jit.png | Bin 0 -> 797 bytes
|
||||
.../BromiteJavascriptJITContentSetting.java | 87 ++++++++++++++++++
|
||||
.../javascript_jit.grdp | 18 ++++
|
||||
.../core/browser/content_settings_registry.cc | 8 +-
|
||||
9 files changed, 116 insertions(+), 2 deletions(-)
|
||||
.../BromiteJavascriptJITContentSetting.java | 92 ++++++++++++++++++
|
||||
.../javascript_jit.grdp | 21 ++++
|
||||
.../javascript_jit.inc | 13 +++
|
||||
.../core/browser/content_settings_registry.cc | 2 +-
|
||||
10 files changed, 132 insertions(+), 1 deletion(-)
|
||||
create mode 100644 components/browser_ui/site_settings/android/java/res/drawable-hdpi/permission_javascript_jit.png
|
||||
create mode 100644 components/browser_ui/site_settings/android/java/res/drawable-mdpi/permission_javascript_jit.png
|
||||
create mode 100644 components/browser_ui/site_settings/android/java/res/drawable-xhdpi/permission_javascript_jit.png
|
||||
create mode 100644 components/browser_ui/site_settings/android/java/res/drawable-xxhdpi/permission_javascript_jit.png
|
||||
create mode 100644 components/browser_ui/site_settings/android/java/res/drawable-xxxhdpi/permission_javascript_jit.png
|
||||
create mode 100644 components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/impl/BromiteJavascriptJITContentSetting.java
|
||||
create mode 100644 components/browser_ui/strings/android/bromite_content_settings/javascript_jit.grdp
|
||||
create mode 100644 components/browser_ui/strings/bromite_content_settings/javascript_jit.grdp
|
||||
create mode 100644 components/content_settings/core/browser/bromite_content_settings/javascript_jit.inc
|
||||
|
||||
diff --git a/components/browser_ui/site_settings/android/BUILD.gn b/components/browser_ui/site_settings/android/BUILD.gn
|
||||
--- a/components/browser_ui/site_settings/android/BUILD.gn
|
||||
+++ b/components/browser_ui/site_settings/android/BUILD.gn
|
||||
@@ -203,6 +203,7 @@ android_resources("java_resources") {
|
||||
@@ -202,6 +202,7 @@ android_resources("java_resources") {
|
||||
"java/res/drawable-hdpi/permission_background_sync.png",
|
||||
"java/res/drawable-hdpi/permission_images.png",
|
||||
"java/res/drawable-hdpi/permission_javascript.png",
|
||||
@@ -41,7 +43,7 @@ diff --git a/components/browser_ui/site_settings/android/BUILD.gn b/components/b
|
||||
"java/res/drawable-hdpi/permission_popups.png",
|
||||
"java/res/drawable-hdpi/permission_protected_media.png",
|
||||
"java/res/drawable-hdpi/settings_sensors.png",
|
||||
@@ -211,6 +212,7 @@ android_resources("java_resources") {
|
||||
@@ -210,6 +211,7 @@ android_resources("java_resources") {
|
||||
"java/res/drawable-mdpi/permission_background_sync.png",
|
||||
"java/res/drawable-mdpi/permission_images.png",
|
||||
"java/res/drawable-mdpi/permission_javascript.png",
|
||||
@@ -49,7 +51,7 @@ diff --git a/components/browser_ui/site_settings/android/BUILD.gn b/components/b
|
||||
"java/res/drawable-hdpi/settings_autoplay.png",
|
||||
"java/res/drawable-xhdpi/settings_autoplay.png",
|
||||
"java/res/drawable-xxhdpi/settings_autoplay.png",
|
||||
@@ -224,6 +226,7 @@ android_resources("java_resources") {
|
||||
@@ -223,6 +225,7 @@ android_resources("java_resources") {
|
||||
"java/res/drawable-xhdpi/permission_background_sync.png",
|
||||
"java/res/drawable-xhdpi/permission_images.png",
|
||||
"java/res/drawable-xhdpi/permission_javascript.png",
|
||||
@@ -57,7 +59,7 @@ diff --git a/components/browser_ui/site_settings/android/BUILD.gn b/components/b
|
||||
"java/res/drawable-xhdpi/permission_popups.png",
|
||||
"java/res/drawable-xhdpi/permission_protected_media.png",
|
||||
"java/res/drawable-xhdpi/settings_sensors.png",
|
||||
@@ -232,6 +235,7 @@ android_resources("java_resources") {
|
||||
@@ -231,6 +234,7 @@ android_resources("java_resources") {
|
||||
"java/res/drawable-xxhdpi/permission_background_sync.png",
|
||||
"java/res/drawable-xxhdpi/permission_images.png",
|
||||
"java/res/drawable-xxhdpi/permission_javascript.png",
|
||||
@@ -65,7 +67,7 @@ diff --git a/components/browser_ui/site_settings/android/BUILD.gn b/components/b
|
||||
"java/res/drawable-xxhdpi/permission_popups.png",
|
||||
"java/res/drawable-xxhdpi/permission_protected_media.png",
|
||||
"java/res/drawable-xxhdpi/settings_sensors.png",
|
||||
@@ -240,6 +244,7 @@ android_resources("java_resources") {
|
||||
@@ -239,6 +243,7 @@ android_resources("java_resources") {
|
||||
"java/res/drawable-xxxhdpi/permission_background_sync.png",
|
||||
"java/res/drawable-xxxhdpi/permission_images.png",
|
||||
"java/res/drawable-xxxhdpi/permission_javascript.png",
|
||||
@@ -175,7 +177,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/impl/BromiteJavascriptJITContentSetting.java
|
||||
@@ -0,0 +1,87 @@
|
||||
@@ -0,0 +1,92 @@
|
||||
+/*
|
||||
+ This file is part of Bromite.
|
||||
+
|
||||
@@ -244,6 +246,11 @@ new file mode 100644
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public int getCategoryDescription() {
|
||||
+ return R.string.settings_site_settings_javascript_jit_description;
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public boolean requiresTriStateContentSetting() {
|
||||
+ return false;
|
||||
+ }
|
||||
@@ -263,33 +270,54 @@ new file mode 100644
|
||||
+ return value != ContentSettingValues.BLOCK;
|
||||
+ }
|
||||
+}
|
||||
diff --git a/components/browser_ui/strings/android/bromite_content_settings/javascript_jit.grdp b/components/browser_ui/strings/android/bromite_content_settings/javascript_jit.grdp
|
||||
diff --git a/components/browser_ui/strings/bromite_content_settings/javascript_jit.grdp b/components/browser_ui/strings/bromite_content_settings/javascript_jit.grdp
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/components/browser_ui/strings/android/bromite_content_settings/javascript_jit.grdp
|
||||
@@ -0,0 +1,18 @@
|
||||
+++ b/components/browser_ui/strings/bromite_content_settings/javascript_jit.grdp
|
||||
@@ -0,0 +1,21 @@
|
||||
+<?xml version="1.0" encoding="utf-8"?>
|
||||
+<grit-part>
|
||||
+ <message name="IDS_JAVASCRIPT_JIT_PERMISSION_TITLE" desc="Title of the permission to run javascript [CHAR_LIMIT=32]">
|
||||
+ <message name="IDS_JAVASCRIPT_JIT_PERMISSION_TITLE" desc="Title of the permission to run javascript [CHAR_LIMIT=32]" formatter_data="android_java">
|
||||
+ JavaScript JIT
|
||||
+ </message>
|
||||
+ <message name="IDS_WEBSITE_SETTINGS_CATEGORY_JAVASCRIPT_JIT_ENABLED" desc="Summary text explaining that sites are allowed to compile JavaScript in JIT mode.">
|
||||
+ Allow JIT on a specific site.
|
||||
+ <message name="IDS_SETTINGS_SITE_SETTINGS_JAVASCRIPT_JIT_DESCRIPTION" desc="Description of the Javascript JIT content setting." formatter_data="android_java">
|
||||
+ Enable the JIT compiler and WebAssembly support in V8
|
||||
+ </message>
|
||||
+ <message name="IDS_WEBSITE_SETTINGS_CATEGORY_JAVASCRIPT_JIT_DISABLED" desc="Summary text explaining that sites are running JavaScript in JITless mode.">
|
||||
+ Block JIT on a specific site.
|
||||
+ <message name="IDS_WEBSITE_SETTINGS_CATEGORY_JAVASCRIPT_JIT_ENABLED" desc="Summary text explaining that sites are allowed to compile JavaScript in JIT mode." formatter_data="android_java">
|
||||
+ Allow JIT and WebAssembly on a specific site.
|
||||
+ </message>
|
||||
+ <message name="IDS_WEBSITE_SETTINGS_ADD_SITE_DESCRIPTION_JAVASCRIPT_JIT_ALLOW" desc="The description for the allow Javascript JIT for website dialog.">
|
||||
+ <message name="IDS_WEBSITE_SETTINGS_CATEGORY_JAVASCRIPT_JIT_DISABLED" desc="Summary text explaining that sites are running JavaScript in JITless mode." formatter_data="android_java">
|
||||
+ Block JIT and WebAssembly on a specific site.
|
||||
+ </message>
|
||||
+ <message name="IDS_WEBSITE_SETTINGS_ADD_SITE_DESCRIPTION_JAVASCRIPT_JIT_ALLOW" desc="The description for the allow Javascript JIT for website dialog." formatter_data="android_java">
|
||||
+ Allow sites to use just-in-time compilation; more performant but a constant source of security vulnerabilities.
|
||||
+ </message>
|
||||
+ <message name="IDS_WEBSITE_SETTINGS_ADD_SITE_DESCRIPTION_JAVASCRIPT_JIT_BLOCK" desc="The description for the block Javascript JIT for website dialog.">
|
||||
+ <message name="IDS_WEBSITE_SETTINGS_ADD_SITE_DESCRIPTION_JAVASCRIPT_JIT_BLOCK" desc="The description for the block Javascript JIT for website dialog." formatter_data="android_java">
|
||||
+ Block sites from using just-in-time compilation, using only interpreted JavaScript; less performant but more secure against security vulnerabilities.
|
||||
+ </message>
|
||||
+</grit-part>
|
||||
diff --git a/components/content_settings/core/browser/bromite_content_settings/javascript_jit.inc b/components/content_settings/core/browser/bromite_content_settings/javascript_jit.inc
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/components/content_settings/core/browser/bromite_content_settings/javascript_jit.inc
|
||||
@@ -0,0 +1,13 @@
|
||||
+ content_settings::WebsiteSettingsRegistry::GetInstance()
|
||||
+ ->GetMutable(ContentSettingsType::JAVASCRIPT_JIT)
|
||||
+ ->set_show_into_info_page()
|
||||
+ .set_desktop_ui()
|
||||
+ .set_is_renderer_content_setting()
|
||||
+ .set_title_ui(IDS_JAVASCRIPT_JIT_PERMISSION_TITLE)
|
||||
+ .set_description_ui(IDS_SETTINGS_SITE_SETTINGS_JAVASCRIPT_JIT_DESCRIPTION)
|
||||
+ .set_allowed_ui(IDS_WEBSITE_SETTINGS_CATEGORY_JAVASCRIPT_JIT_ENABLED)
|
||||
+ .set_blocked_ui(IDS_WEBSITE_SETTINGS_CATEGORY_JAVASCRIPT_JIT_DISABLED)
|
||||
+ .set_allowed_exceptions_ui(IDS_WEBSITE_SETTINGS_ADD_SITE_DESCRIPTION_JAVASCRIPT_JIT_ALLOW)
|
||||
+ .set_blocked_exceptions_ui(IDS_WEBSITE_SETTINGS_ADD_SITE_DESCRIPTION_JAVASCRIPT_JIT_BLOCK)
|
||||
+ .set_mid_sentence_ui(IDS_JAVASCRIPT_JIT_PERMISSION_TITLE);
|
||||
+
|
||||
diff --git a/components/content_settings/core/browser/content_settings_registry.cc b/components/content_settings/core/browser/content_settings_registry.cc
|
||||
--- a/components/content_settings/core/browser/content_settings_registry.cc
|
||||
+++ b/components/content_settings/core/browser/content_settings_registry.cc
|
||||
@@ -518,14 +518,18 @@ void ContentSettingsRegistry::Init() {
|
||||
@@ -509,7 +509,7 @@ void ContentSettingsRegistry::Init() {
|
||||
ContentSettingsInfo::EXCEPTIONS_ON_SECURE_ORIGINS_ONLY);
|
||||
|
||||
Register(ContentSettingsType::JAVASCRIPT_JIT, "javascript-jit",
|
||||
@@ -298,17 +326,5 @@ diff --git a/components/content_settings/core/browser/content_settings_registry.
|
||||
/*allowlisted_schemes=*/{},
|
||||
/*valid_settings=*/{CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK},
|
||||
WebsiteSettingsInfo::TOP_ORIGIN_ONLY_SCOPE,
|
||||
WebsiteSettingsRegistry::DESKTOP |
|
||||
WebsiteSettingsRegistry::PLATFORM_ANDROID,
|
||||
ContentSettingsInfo::INHERIT_IN_INCOGNITO,
|
||||
- ContentSettingsInfo::EXCEPTIONS_ON_SECURE_AND_INSECURE_ORIGINS);
|
||||
+ ContentSettingsInfo::EXCEPTIONS_ON_SECURE_AND_INSECURE_ORIGINS,
|
||||
+ /*show_into_info_page*/ true,
|
||||
+ /*is_renderer_content_setting*/ true,
|
||||
+ /*permission_type_ui*/ IDS_JAVASCRIPT_JIT_PERMISSION_TITLE,
|
||||
+ /*permission_type_ui_mid_sentence*/ IDS_JAVASCRIPT_JIT_PERMISSION_TITLE);
|
||||
|
||||
Register(ContentSettingsType::PRIVATE_NETWORK_GUARD, "private-network-guard",
|
||||
CONTENT_SETTING_ASK, WebsiteSettingsInfo::UNSYNCABLE,
|
||||
--
|
||||
2.25.1
|
||||
|
||||
@@ -11,24 +11,26 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../res/drawable-xhdpi/settings_autoplay.png | Bin 0 -> 551 bytes
|
||||
.../res/drawable-xxhdpi/settings_autoplay.png | Bin 0 -> 792 bytes
|
||||
.../drawable-xxxhdpi/settings_autoplay.png | Bin 0 -> 1064 bytes
|
||||
.../impl/BromiteAutoplayContentSetting.java | 87 ++++++++++++++++++
|
||||
.../bromite_content_settings/autoplay.grdp | 15 +++
|
||||
.../core/browser/content_settings_registry.cc | 8 +-
|
||||
.../impl/BromiteAutoplayContentSetting.java | 92 ++++++++++++++++++
|
||||
.../bromite_content_settings/autoplay.grdp | 21 ++++
|
||||
.../bromite_content_settings/autoplay.inc | 13 +++
|
||||
.../core/browser/content_settings_registry.cc | 2 +-
|
||||
.../core/html/media/autoplay_policy.cc | 14 +++
|
||||
.../core/html/media/autoplay_policy.h | 4 +
|
||||
11 files changed, 131 insertions(+), 2 deletions(-)
|
||||
12 files changed, 150 insertions(+), 1 deletion(-)
|
||||
create mode 100644 components/browser_ui/site_settings/android/java/res/drawable-hdpi/settings_autoplay.png
|
||||
create mode 100644 components/browser_ui/site_settings/android/java/res/drawable-mdpi/settings_autoplay.png
|
||||
create mode 100644 components/browser_ui/site_settings/android/java/res/drawable-xhdpi/settings_autoplay.png
|
||||
create mode 100644 components/browser_ui/site_settings/android/java/res/drawable-xxhdpi/settings_autoplay.png
|
||||
create mode 100644 components/browser_ui/site_settings/android/java/res/drawable-xxxhdpi/settings_autoplay.png
|
||||
create mode 100644 components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/impl/BromiteAutoplayContentSetting.java
|
||||
create mode 100644 components/browser_ui/strings/android/bromite_content_settings/autoplay.grdp
|
||||
create mode 100644 components/browser_ui/strings/bromite_content_settings/autoplay.grdp
|
||||
create mode 100644 components/content_settings/core/browser/bromite_content_settings/autoplay.inc
|
||||
|
||||
diff --git a/components/browser_ui/site_settings/android/BUILD.gn b/components/browser_ui/site_settings/android/BUILD.gn
|
||||
--- a/components/browser_ui/site_settings/android/BUILD.gn
|
||||
+++ b/components/browser_ui/site_settings/android/BUILD.gn
|
||||
@@ -209,6 +209,11 @@ android_resources("java_resources") {
|
||||
@@ -208,6 +208,11 @@ android_resources("java_resources") {
|
||||
"java/res/drawable-mdpi/ic_volume_up_grey600_24dp.png",
|
||||
"java/res/drawable-mdpi/permission_background_sync.png",
|
||||
"java/res/drawable-mdpi/permission_javascript.png",
|
||||
@@ -152,7 +154,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/impl/BromiteAutoplayContentSetting.java
|
||||
@@ -0,0 +1,87 @@
|
||||
@@ -0,0 +1,92 @@
|
||||
+/*
|
||||
+ This file is part of Bromite.
|
||||
+
|
||||
@@ -221,6 +223,11 @@ new file mode 100644
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public int getCategoryDescription() {
|
||||
+ return R.string.website_settings_add_site_description_autoplay;
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public boolean requiresTriStateContentSetting() {
|
||||
+ return false;
|
||||
+ }
|
||||
@@ -240,30 +247,54 @@ new file mode 100644
|
||||
+ return value != ContentSettingValues.BLOCK;
|
||||
+ }
|
||||
+}
|
||||
diff --git a/components/browser_ui/strings/android/bromite_content_settings/autoplay.grdp b/components/browser_ui/strings/android/bromite_content_settings/autoplay.grdp
|
||||
diff --git a/components/browser_ui/strings/bromite_content_settings/autoplay.grdp b/components/browser_ui/strings/bromite_content_settings/autoplay.grdp
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/components/browser_ui/strings/android/bromite_content_settings/autoplay.grdp
|
||||
@@ -0,0 +1,15 @@
|
||||
+++ b/components/browser_ui/strings/bromite_content_settings/autoplay.grdp
|
||||
@@ -0,0 +1,21 @@
|
||||
+<?xml version="1.0" encoding="utf-8"?>
|
||||
+<grit-part>
|
||||
+ <message name="IDS_AUTOPLAY_PERMISSION_TITLE" desc='Title for the Autoplay settings screen [CHAR-LIMIT=32]'>
|
||||
+ <message name="IDS_AUTOPLAY_PERMISSION_TITLE" desc='Title for the Autoplay settings screen [CHAR-LIMIT=32]' formatter_data="android_java">
|
||||
+ Autoplay
|
||||
+ </message>
|
||||
+ <message name="IDS_WEBSITE_SETTINGS_ADD_SITE_DESCRIPTION_AUTOPLAY" desc="The description for the allow autoplay of muted videos for website dialog.">
|
||||
+ <message name="IDS_WEBSITE_SETTINGS_ADD_SITE_DESCRIPTION_AUTOPLAY" desc="The description for the allow autoplay of muted videos for website dialog." formatter_data="android_java">
|
||||
+ Allow autoplay for a specific site.
|
||||
+ </message>
|
||||
+ <message name="IDS_WEBSITE_SETTINGS_CATEGORY_AUTOPLAY_ENABLED" desc="Summary text explaining that sites are allowed to compile JavaScript in JIT mode.">
|
||||
+ <message name="IDS_WEBSITE_SETTINGS_CATEGORY_AUTOPLAY_ENABLED" desc="Summary text explaining that sites are allowed to compile JavaScript in JIT mode." formatter_data="android_java">
|
||||
+ Allow sites to automatically play muted videos
|
||||
+ </message>
|
||||
+ <message name="IDS_WEBSITE_SETTINGS_CATEGORY_AUTOPLAY_DISABLED" desc="Summary text explaining that sites are running JavaScript in JITless mode.">
|
||||
+ <message name="IDS_WEBSITE_SETTINGS_CATEGORY_AUTOPLAY_DISABLED" desc="Summary text explaining that sites are running JavaScript in JITless mode." formatter_data="android_java">
|
||||
+ Autoplay disabled
|
||||
+ </message>
|
||||
+ <message name="IDS_SETTINGS_SITE_SETTINGS_AUTOPLAY_ALLOWED_EXCEPTIONS" desc="Label for the allowed exceptions site list of the autoplay setting.">
|
||||
+ Allowed to autoplay
|
||||
+ </message>
|
||||
+ <message name="IDS_SETTINGS_SITE_SETTINGS_AUTOPLAY_BLOCKED_EXCEPTIONS" desc="Label for the blocked exceptions site list of the autoplay setting.">
|
||||
+ Not allowed to autoplay
|
||||
+ </message>
|
||||
+</grit-part>
|
||||
diff --git a/components/content_settings/core/browser/bromite_content_settings/autoplay.inc b/components/content_settings/core/browser/bromite_content_settings/autoplay.inc
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/components/content_settings/core/browser/bromite_content_settings/autoplay.inc
|
||||
@@ -0,0 +1,13 @@
|
||||
+ content_settings::WebsiteSettingsRegistry::GetInstance()
|
||||
+ ->GetMutable(ContentSettingsType::AUTOPLAY)
|
||||
+ ->set_show_into_info_page()
|
||||
+ .set_desktop_ui()
|
||||
+ .set_is_renderer_content_setting()
|
||||
+ .set_title_ui(IDS_AUTOPLAY_PERMISSION_TITLE)
|
||||
+ .set_description_ui(IDS_WEBSITE_SETTINGS_ADD_SITE_DESCRIPTION_AUTOPLAY)
|
||||
+ .set_allowed_ui(IDS_WEBSITE_SETTINGS_CATEGORY_AUTOPLAY_ENABLED)
|
||||
+ .set_blocked_ui(IDS_WEBSITE_SETTINGS_CATEGORY_AUTOPLAY_DISABLED)
|
||||
+ .set_allowed_exceptions_ui(IDS_SETTINGS_SITE_SETTINGS_AUTOPLAY_ALLOWED_EXCEPTIONS)
|
||||
+ .set_blocked_exceptions_ui(IDS_SETTINGS_SITE_SETTINGS_AUTOPLAY_BLOCKED_EXCEPTIONS)
|
||||
+ .set_mid_sentence_ui(IDS_AUTOPLAY_PERMISSION_TITLE);
|
||||
+
|
||||
diff --git a/components/content_settings/core/browser/content_settings_registry.cc b/components/content_settings/core/browser/content_settings_registry.cc
|
||||
--- a/components/content_settings/core/browser/content_settings_registry.cc
|
||||
+++ b/components/content_settings/core/browser/content_settings_registry.cc
|
||||
@@ -238,14 +238,18 @@ void ContentSettingsRegistry::Init() {
|
||||
@@ -237,7 +237,7 @@ void ContentSettingsRegistry::Init() {
|
||||
ContentSettingsInfo::INHERIT_IN_INCOGNITO,
|
||||
ContentSettingsInfo::EXCEPTIONS_ON_SECURE_ORIGINS_ONLY);
|
||||
|
||||
@@ -272,18 +303,6 @@ diff --git a/components/content_settings/core/browser/content_settings_registry.
|
||||
WebsiteSettingsInfo::UNSYNCABLE, /*allowlisted_schemes=*/{},
|
||||
/*valid_settings=*/{CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK},
|
||||
WebsiteSettingsInfo::TOP_ORIGIN_ONLY_SCOPE,
|
||||
WebsiteSettingsRegistry::DESKTOP |
|
||||
WebsiteSettingsRegistry::PLATFORM_ANDROID,
|
||||
ContentSettingsInfo::INHERIT_IN_INCOGNITO,
|
||||
- ContentSettingsInfo::EXCEPTIONS_ON_SECURE_AND_INSECURE_ORIGINS);
|
||||
+ ContentSettingsInfo::EXCEPTIONS_ON_SECURE_AND_INSECURE_ORIGINS,
|
||||
+ /*show_into_info_page*/ false,
|
||||
+ /*is_renderer_content_setting*/ true,
|
||||
+ /*permission_type_ui*/ IDS_AUTOPLAY_PERMISSION_TITLE,
|
||||
+ /*permission_type_ui_mid_sentence*/ IDS_AUTOPLAY_PERMISSION_TITLE);
|
||||
|
||||
Register(ContentSettingsType::SOUND, "sound", CONTENT_SETTING_ALLOW,
|
||||
WebsiteSettingsInfo::UNSYNCABLE, /*allowlisted_schemes=*/{},
|
||||
diff --git a/third_party/blink/renderer/core/html/media/autoplay_policy.cc b/third_party/blink/renderer/core/html/media/autoplay_policy.cc
|
||||
--- a/third_party/blink/renderer/core/html/media/autoplay_policy.cc
|
||||
+++ b/third_party/blink/renderer/core/html/media/autoplay_policy.cc
|
||||
|
||||
@@ -11,23 +11,25 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../res/drawable-xhdpi/permission_images.png | Bin 0 -> 316 bytes
|
||||
.../res/drawable-xxhdpi/permission_images.png | Bin 0 -> 449 bytes
|
||||
.../drawable-xxxhdpi/permission_images.png | Bin 0 -> 532 bytes
|
||||
.../impl/BromiteImagesContentSetting.java | 87 ++++++++++++++++++
|
||||
.../impl/BromiteImagesContentSetting.java | 92 ++++++++++++++++++
|
||||
.../bromite_content_settings/images.grdp | 23 +++++
|
||||
.../core/browser/content_settings_registry.cc | 8 +-
|
||||
.../bromite_content_settings/images.inc | 7 ++
|
||||
.../core/browser/content_settings_registry.cc | 2 +-
|
||||
.../core/browser/content_settings_utils.cc | 8 +-
|
||||
10 files changed, 123 insertions(+), 8 deletions(-)
|
||||
11 files changed, 130 insertions(+), 7 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
|
||||
create mode 100644 components/browser_ui/site_settings/android/java/res/drawable-xxhdpi/permission_images.png
|
||||
create mode 100644 components/browser_ui/site_settings/android/java/res/drawable-xxxhdpi/permission_images.png
|
||||
create mode 100644 components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/impl/BromiteImagesContentSetting.java
|
||||
create mode 100644 components/browser_ui/strings/android/bromite_content_settings/images.grdp
|
||||
create mode 100644 components/browser_ui/strings/bromite_content_settings/images.grdp
|
||||
create mode 100644 components/content_settings/core/browser/bromite_content_settings/images.inc
|
||||
|
||||
diff --git a/components/browser_ui/site_settings/android/BUILD.gn b/components/browser_ui/site_settings/android/BUILD.gn
|
||||
--- a/components/browser_ui/site_settings/android/BUILD.gn
|
||||
+++ b/components/browser_ui/site_settings/android/BUILD.gn
|
||||
@@ -201,6 +201,7 @@ android_resources("java_resources") {
|
||||
@@ -200,6 +200,7 @@ android_resources("java_resources") {
|
||||
sources = [
|
||||
"java/res/drawable-hdpi/ic_volume_up_grey600_24dp.png",
|
||||
"java/res/drawable-hdpi/permission_background_sync.png",
|
||||
@@ -35,7 +37,7 @@ diff --git a/components/browser_ui/site_settings/android/BUILD.gn b/components/b
|
||||
"java/res/drawable-hdpi/permission_javascript.png",
|
||||
"java/res/drawable-hdpi/permission_popups.png",
|
||||
"java/res/drawable-hdpi/permission_protected_media.png",
|
||||
@@ -208,6 +209,7 @@ android_resources("java_resources") {
|
||||
@@ -207,6 +208,7 @@ android_resources("java_resources") {
|
||||
"java/res/drawable-hdpi/web_asset.png",
|
||||
"java/res/drawable-mdpi/ic_volume_up_grey600_24dp.png",
|
||||
"java/res/drawable-mdpi/permission_background_sync.png",
|
||||
@@ -43,7 +45,7 @@ diff --git a/components/browser_ui/site_settings/android/BUILD.gn b/components/b
|
||||
"java/res/drawable-mdpi/permission_javascript.png",
|
||||
"java/res/drawable-hdpi/settings_autoplay.png",
|
||||
"java/res/drawable-xhdpi/settings_autoplay.png",
|
||||
@@ -220,6 +222,7 @@ android_resources("java_resources") {
|
||||
@@ -219,6 +221,7 @@ android_resources("java_resources") {
|
||||
"java/res/drawable-mdpi/web_asset.png",
|
||||
"java/res/drawable-xhdpi/ic_volume_up_grey600_24dp.png",
|
||||
"java/res/drawable-xhdpi/permission_background_sync.png",
|
||||
@@ -51,7 +53,7 @@ diff --git a/components/browser_ui/site_settings/android/BUILD.gn b/components/b
|
||||
"java/res/drawable-xhdpi/permission_javascript.png",
|
||||
"java/res/drawable-xhdpi/permission_popups.png",
|
||||
"java/res/drawable-xhdpi/permission_protected_media.png",
|
||||
@@ -227,6 +230,7 @@ android_resources("java_resources") {
|
||||
@@ -226,6 +229,7 @@ android_resources("java_resources") {
|
||||
"java/res/drawable-xhdpi/web_asset.png",
|
||||
"java/res/drawable-xxhdpi/ic_volume_up_grey600_24dp.png",
|
||||
"java/res/drawable-xxhdpi/permission_background_sync.png",
|
||||
@@ -59,7 +61,7 @@ diff --git a/components/browser_ui/site_settings/android/BUILD.gn b/components/b
|
||||
"java/res/drawable-xxhdpi/permission_javascript.png",
|
||||
"java/res/drawable-xxhdpi/permission_popups.png",
|
||||
"java/res/drawable-xxhdpi/permission_protected_media.png",
|
||||
@@ -234,6 +238,7 @@ android_resources("java_resources") {
|
||||
@@ -233,6 +237,7 @@ android_resources("java_resources") {
|
||||
"java/res/drawable-xxhdpi/web_asset.png",
|
||||
"java/res/drawable-xxxhdpi/ic_volume_up_grey600_24dp.png",
|
||||
"java/res/drawable-xxxhdpi/permission_background_sync.png",
|
||||
@@ -153,7 +155,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/impl/BromiteImagesContentSetting.java
|
||||
@@ -0,0 +1,87 @@
|
||||
@@ -0,0 +1,92 @@
|
||||
+/*
|
||||
+ This file is part of Bromite.
|
||||
+
|
||||
@@ -222,6 +224,11 @@ new file mode 100644
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public int getCategoryDescription() {
|
||||
+ return 0;
|
||||
+ }
|
||||
+
|
||||
+ @Override
|
||||
+ public boolean requiresTriStateContentSetting() {
|
||||
+ return false;
|
||||
+ }
|
||||
@@ -241,53 +248,58 @@ new file mode 100644
|
||||
+ return value != ContentSettingValues.BLOCK;
|
||||
+ }
|
||||
+}
|
||||
diff --git a/components/browser_ui/strings/android/bromite_content_settings/images.grdp b/components/browser_ui/strings/android/bromite_content_settings/images.grdp
|
||||
diff --git a/components/browser_ui/strings/bromite_content_settings/images.grdp b/components/browser_ui/strings/bromite_content_settings/images.grdp
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/components/browser_ui/strings/android/bromite_content_settings/images.grdp
|
||||
+++ b/components/browser_ui/strings/bromite_content_settings/images.grdp
|
||||
@@ -0,0 +1,23 @@
|
||||
+<?xml version="1.0" encoding="utf-8"?>
|
||||
+<grit-part>
|
||||
+<if expr="is_android">
|
||||
+ <message name="IDS_SITE_SETTINGS_TYPE_IMAGES" desc="The label used for images site settings controls.">
|
||||
+ <message name="IDS_SITE_SETTINGS_TYPE_IMAGES" desc="The label used for images site settings controls." formatter_data="android_java">
|
||||
+ Images
|
||||
+ </message>
|
||||
+ <message name="IDS_SITE_SETTINGS_TYPE_IMAGES_MID_SENTENCE" desc="The label used for images site settings controls when used mid-sentence.">
|
||||
+ images
|
||||
+ <message name="IDS_SITE_SETTINGS_TYPE_IMAGES_MID_SENTENCE" desc="The label used for images site settings controls when used mid-sentence." formatter_data="android_java">
|
||||
+ Images
|
||||
+ </message>
|
||||
+</if>
|
||||
+ <message name="IDS_IMAGES_PERMISSION_TITLE" desc="Title of the permission to show images [CHAR-LIMIT=32]">
|
||||
+ <message name="IDS_IMAGES_PERMISSION_TITLE" desc="Title of the permission to show images [CHAR-LIMIT=32]" formatter_data="android_java">
|
||||
+ Images
|
||||
+ </message>
|
||||
+ <message name="IDS_WEBSITE_SETTINGS_ADD_SITE_DESCRIPTION_IMAGES" desc="The description for the allow Images on website dialog.">
|
||||
+ <message name="IDS_WEBSITE_SETTINGS_ADD_SITE_DESCRIPTION_IMAGES" desc="The description for the allow Images on website dialog." formatter_data="android_java">
|
||||
+ Allow images on websites you specify while blocking them for the rest of the web
|
||||
+ </message>
|
||||
+ <message name="IDS_WEBSITE_SETTINGS_CATEGORY_IMAGES_ENABLED" desc="Summary text explaining that sites are allowed to load images.">
|
||||
+ <message name="IDS_WEBSITE_SETTINGS_CATEGORY_IMAGES_ENABLED" desc="Summary text explaining that sites are allowed to load images." formatter_data="android_java">
|
||||
+ Allow sites to load images
|
||||
+ </message>
|
||||
+ <message name="IDS_WEBSITE_SETTINGS_CATEGORY_IMAGES_DISABLED" desc="Summary text explaining that sites are not allowed to load images.">
|
||||
+ <message name="IDS_WEBSITE_SETTINGS_CATEGORY_IMAGES_DISABLED" desc="Summary text explaining that sites are not allowed to load images." formatter_data="android_java">
|
||||
+ Disallow sites to load images
|
||||
+ </message>
|
||||
+</grit-part>
|
||||
diff --git a/components/content_settings/core/browser/bromite_content_settings/images.inc b/components/content_settings/core/browser/bromite_content_settings/images.inc
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/components/content_settings/core/browser/bromite_content_settings/images.inc
|
||||
@@ -0,0 +1,7 @@
|
||||
+ content_settings::WebsiteSettingsRegistry::GetInstance()
|
||||
+ ->GetMutable(ContentSettingsType::IMAGES)
|
||||
+ ->set_show_into_info_page()
|
||||
+ .set_is_renderer_content_setting()
|
||||
+ .set_title_ui(IDS_SITE_SETTINGS_TYPE_IMAGES)
|
||||
+ .set_mid_sentence_ui(IDS_SITE_SETTINGS_TYPE_IMAGES_MID_SENTENCE);
|
||||
+
|
||||
diff --git a/components/content_settings/core/browser/content_settings_registry.cc b/components/content_settings/core/browser/content_settings_registry.cc
|
||||
--- a/components/content_settings/core/browser/content_settings_registry.cc
|
||||
+++ b/components/content_settings/core/browser/content_settings_registry.cc
|
||||
@@ -97,9 +97,13 @@ void ContentSettingsRegistry::Init() {
|
||||
@@ -96,7 +96,7 @@ void ContentSettingsRegistry::Init() {
|
||||
{kChromeUIScheme, kChromeDevToolsScheme, kExtensionScheme},
|
||||
/*valid_settings=*/{CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK},
|
||||
WebsiteSettingsInfo::TOP_ORIGIN_WITH_RESOURCE_EXCEPTIONS_SCOPE,
|
||||
- WebsiteSettingsRegistry::DESKTOP,
|
||||
+ WebsiteSettingsRegistry::DESKTOP | WebsiteSettingsRegistry::PLATFORM_ANDROID,
|
||||
ContentSettingsInfo::INHERIT_IN_INCOGNITO,
|
||||
- ContentSettingsInfo::EXCEPTIONS_ON_SECURE_AND_INSECURE_ORIGINS);
|
||||
+ ContentSettingsInfo::EXCEPTIONS_ON_SECURE_AND_INSECURE_ORIGINS,
|
||||
+ /*show_into_info_page*/ true,
|
||||
+ /*is_renderer_content_setting*/ true,
|
||||
+ /*permission_type_ui*/ IDS_SITE_SETTINGS_TYPE_IMAGES,
|
||||
+ /*permission_type_ui_mid_sentence*/ IDS_SITE_SETTINGS_TYPE_IMAGES_MID_SENTENCE);
|
||||
ContentSettingsInfo::EXCEPTIONS_ON_SECURE_AND_INSECURE_ORIGINS);
|
||||
|
||||
Register(ContentSettingsType::JAVASCRIPT, "javascript", CONTENT_SETTING_ALLOW,
|
||||
WebsiteSettingsInfo::SYNCABLE,
|
||||
diff --git a/components/content_settings/core/browser/content_settings_utils.cc b/components/content_settings/core/browser/content_settings_utils.cc
|
||||
--- a/components/content_settings/core/browser/content_settings_utils.cc
|
||||
+++ b/components/content_settings/core/browser/content_settings_utils.cc
|
||||
|
||||
@@ -26,28 +26,30 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html
|
||||
.../WebsitePermissionsFetcher.java | 2 +
|
||||
.../WebsitePreferenceBridge.java | 12 ++
|
||||
.../android/website_preference_bridge.cc | 16 ++
|
||||
.../bromite_content_settings/timezone.grdp | 36 ++++
|
||||
.../bromite_content_settings/timezone.grdp | 39 ++++
|
||||
.../timezone_override.inc | 24 +++
|
||||
.../browser/content_settings_pref_provider.cc | 16 ++
|
||||
.../browser/content_settings_pref_provider.h | 4 +
|
||||
.../core/browser/content_settings_registry.cc | 13 ++
|
||||
.../core/browser/content_settings_utils.cc | 5 +
|
||||
.../core/browser/host_content_settings_map.cc | 8 +
|
||||
.../core/browser/host_content_settings_map.h | 3 +
|
||||
.../bromite_content_settings/TIMEZONE.inc | 2 +
|
||||
.../core/common/content_settings.h | 1 +
|
||||
.../core/common/content_settings.mojom | 1 +
|
||||
.../common/content_settings_mojom_traits.cc | 3 +-
|
||||
.../common/content_settings_mojom_traits.h | 5 +
|
||||
.../core/common/content_settings_types.h | 3 +
|
||||
.../core/common/pref_names.cc | 3 +
|
||||
.../content_settings/core/common/pref_names.h | 2 +
|
||||
.../renderer/content_settings_agent_impl.cc | 80 ++++++++
|
||||
.../renderer/content_settings_agent_impl.h | 11 +
|
||||
.../WebLayerSiteSettingsDelegate.java | 3 +
|
||||
34 files changed, 664 insertions(+), 6 deletions(-)
|
||||
34 files changed, 677 insertions(+), 6 deletions(-)
|
||||
create mode 100755 components/browser_ui/site_settings/android/java/res/layout/time_zone_select_dialog.xml
|
||||
create mode 100755 components/browser_ui/site_settings/android/java/res/layout/timezoneoverride_site_settings_preference.xml
|
||||
create mode 100755 components/browser_ui/site_settings/android/java/src/org/chromium/components/browser_ui/site_settings/TimezoneOverrideSiteSettingsPreference.java
|
||||
create mode 100644 components/browser_ui/strings/android/bromite_content_settings/timezone.grdp
|
||||
create mode 100644 components/browser_ui/strings/bromite_content_settings/timezone.grdp
|
||||
create mode 100644 components/content_settings/core/browser/bromite_content_settings/timezone_override.inc
|
||||
create mode 100644 components/content_settings/core/common/bromite_content_settings/TIMEZONE.inc
|
||||
|
||||
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/site_settings/ChromeSiteSettingsDelegate.java b/chrome/android/java/src/org/chromium/chrome/browser/site_settings/ChromeSiteSettingsDelegate.java
|
||||
--- a/chrome/android/java/src/org/chromium/chrome/browser/site_settings/ChromeSiteSettingsDelegate.java
|
||||
@@ -93,7 +95,7 @@ diff --git a/components/browser_ui/site_settings/android/BUILD.gn b/components/b
|
||||
]
|
||||
annotation_processor_deps = [ "//base/android/jni_generator:jni_processor" ]
|
||||
resources_package = "org.chromium.components.browser_ui.site_settings"
|
||||
@@ -263,6 +264,8 @@ android_resources("java_resources") {
|
||||
@@ -262,6 +263,8 @@ android_resources("java_resources") {
|
||||
"java/res/xml/site_settings_preferences.xml",
|
||||
"java/res/xml/site_settings_preferences_with_categories.xml",
|
||||
"java/res/xml/website_preferences.xml",
|
||||
@@ -447,7 +449,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
configureTriStateToggle(triStateToggle, contentType);
|
||||
break;
|
||||
case GlobalToggleLayout.TRI_STATE_COOKIE_TOGGLE:
|
||||
@@ -1200,6 +1239,12 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
|
||||
@@ -1204,6 +1243,12 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
|
||||
}
|
||||
BromiteCustomContentSettingImpl.configureGlobalToggles(mCategory, screen);
|
||||
|
||||
@@ -460,7 +462,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
if (permissionBlockedByOs) {
|
||||
maybeShowOsWarning(screen);
|
||||
|
||||
@@ -1355,6 +1400,15 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
|
||||
@@ -1359,6 +1404,15 @@ public class SingleCategorySettings extends SiteSettingsPreferenceFragment
|
||||
triStateToggle.initialize(contentType, setting, descriptionIds);
|
||||
}
|
||||
|
||||
@@ -778,7 +780,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
|
||||
case ContentSettingsType.AR:
|
||||
case ContentSettingsType.CLIPBOARD_READ_WRITE:
|
||||
@@ -212,6 +213,7 @@ public class WebsitePermissionsFetcher {
|
||||
for (@ContentSettingsType int type = 0; type < ContentSettingsType.NUM_TYPES; type++) {
|
||||
for (@ContentSettingsType int type = 0; type < ContentSettingsType.NUM_TYPES_BROMITE; type++) {
|
||||
addFetcherForContentSettingsType(queue, type);
|
||||
}
|
||||
+ queue.add(new ExceptionInfoFetcher(ContentSettingsType.TIMEZONE_OVERRIDE));
|
||||
@@ -843,47 +845,79 @@ diff --git a/components/browser_ui/site_settings/android/website_preference_brid
|
||||
+ GetHostContentSettingsMap(jbrowser_context_handle)->GetTimezoneOverrideValue(custom_timezone);
|
||||
+ return ConvertUTF8ToJavaString(env, custom_timezone);
|
||||
+}
|
||||
diff --git a/components/browser_ui/strings/android/bromite_content_settings/timezone.grdp b/components/browser_ui/strings/android/bromite_content_settings/timezone.grdp
|
||||
diff --git a/components/browser_ui/strings/bromite_content_settings/timezone.grdp b/components/browser_ui/strings/bromite_content_settings/timezone.grdp
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/components/browser_ui/strings/android/bromite_content_settings/timezone.grdp
|
||||
@@ -0,0 +1,36 @@
|
||||
+++ b/components/browser_ui/strings/bromite_content_settings/timezone.grdp
|
||||
@@ -0,0 +1,39 @@
|
||||
+<?xml version="1.0" encoding="utf-8"?>
|
||||
+<grit-part>
|
||||
+ <message name="IDS_WEBSITE_SETTINGS_TIMEOVERRIDE_INFO" desc="Primary text explaining the timezone override feature.">
|
||||
+ <message name="IDS_SITE_SETTINGS_TIMEZONE_OVERRIDE_TITLE" desc="Description of the timezone override content setting page title.">
|
||||
+ Timezone override
|
||||
+ </message>
|
||||
+ <message name="IDS_WEBSITE_SETTINGS_TIMEOVERRIDE_INFO" desc="Primary text explaining the timezone override feature." formatter_data="android_java">
|
||||
+ Override timezone with a custom or random one, or use the system timezone
|
||||
+ </message>
|
||||
+ <message name="IDS_WEBSITE_SETTINGS_CATEGORY_TIMEZONE_OVERRIDE_ALLOWED_TEXT" desc="Primary text explaining that sites are allowed to access the system timezone.">
|
||||
+ <message name="IDS_WEBSITE_SETTINGS_CATEGORY_TIMEZONE_OVERRIDE_ALLOWED_TEXT" desc="Primary text explaining that sites are allowed to access the system timezone." formatter_data="android_java">
|
||||
+ None (use system timezone)
|
||||
+ </message>
|
||||
+ <message name="IDS_WEBSITE_SETTINGS_CATEGORY_TIMEZONE_OVERRIDE_RANDOM_TEXT" desc="Primary text for random timezone override.">
|
||||
+ <message name="IDS_WEBSITE_SETTINGS_CATEGORY_TIMEZONE_OVERRIDE_RANDOM_TEXT" desc="Primary text for random timezone override." formatter_data="android_java">
|
||||
+ Random
|
||||
+ </message>
|
||||
+ <message name="IDS_WEBSITE_SETTINGS_CATEGORY_TIMEZONE_OVERRIDE_ALLOWED" desc="Summary text explaining that sites are allowed to access the system timezone.">
|
||||
+ <message name="IDS_WEBSITE_SETTINGS_CATEGORY_TIMEZONE_OVERRIDE_ALLOWED" desc="Summary text explaining that sites are allowed to access the system timezone." formatter_data="android_java">
|
||||
+ System timezone
|
||||
+ </message>
|
||||
+ <message name="IDS_WEBSITE_SETTINGS_CATEGORY_TIMEZONE_OVERRIDE_CUSTOM" desc="Summary text explaining that sites use custom timezone.">
|
||||
+ <message name="IDS_WEBSITE_SETTINGS_CATEGORY_TIMEZONE_OVERRIDE_CUSTOM" desc="Summary text explaining that sites use custom timezone." formatter_data="android_java">
|
||||
+ Custom timezone
|
||||
+ </message>
|
||||
+ <message name="IDS_WEBSITE_SETTINGS_CATEGORY_TIMEZONE_OVERRIDE_CUSTOM_HINT" desc="Hint text for edit custom timezone.">
|
||||
+ <message name="IDS_WEBSITE_SETTINGS_CATEGORY_TIMEZONE_OVERRIDE_CUSTOM_HINT" desc="Hint text for edit custom timezone." formatter_data="android_java">
|
||||
+ Specify a custom timezone (default UTC)
|
||||
+ </message>
|
||||
+ <message name="IDS_WEBSITE_SETTINGS_CATEGORY_TIMEZONE_OVERRIDE_RANDOM" desc="Summary text for random timezone override.">
|
||||
+ <message name="IDS_WEBSITE_SETTINGS_CATEGORY_TIMEZONE_OVERRIDE_RANDOM" desc="Summary text for random timezone override." formatter_data="android_java">
|
||||
+ Random (for each page)
|
||||
+ </message>
|
||||
+ <message name="IDS_WEBSITE_SETTINGS_SELECT_BUTTON" desc="Primary button text for choosing a timezone from a list.">
|
||||
+ <message name="IDS_WEBSITE_SETTINGS_SELECT_BUTTON" desc="Primary button text for choosing a timezone from a list." formatter_data="android_java">
|
||||
+ Choose Timezone...
|
||||
+ </message>
|
||||
+ <message name="IDS_WEBSITE_SETTINGS_SELECT_DIALOG_TITLE" desc="Text of the dialog to choose a timezone.">
|
||||
+ <message name="IDS_WEBSITE_SETTINGS_SELECT_DIALOG_TITLE" desc="Text of the dialog to choose a timezone." formatter_data="android_java">
|
||||
+ Choose Timezone
|
||||
+ </message>
|
||||
+ <message name="IDS_WEBSITE_SETTINGS_SELECT_DIALOG_BUTTON" desc="Primary button text in the dialog used to choose the custom timezone.">
|
||||
+ <message name="IDS_WEBSITE_SETTINGS_SELECT_DIALOG_BUTTON" desc="Primary button text in the dialog used to choose the custom timezone." formatter_data="android_java">
|
||||
+ Select
|
||||
+ </message>
|
||||
+ <message name="IDS_TIMEZONE_OVERRIDE_PERMISSION_TITLE" desc="Title of the permission to use TimeZone Override [CHAR-LIMIT=32]">
|
||||
+ <message name="IDS_TIMEZONE_OVERRIDE_PERMISSION_TITLE" desc="Title of the permission to use TimeZone Override [CHAR-LIMIT=32]" formatter_data="android_java">
|
||||
+ Timezone override
|
||||
+ </message>
|
||||
+</grit-part>
|
||||
diff --git a/components/content_settings/core/browser/bromite_content_settings/timezone_override.inc b/components/content_settings/core/browser/bromite_content_settings/timezone_override.inc
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/components/content_settings/core/browser/bromite_content_settings/timezone_override.inc
|
||||
@@ -0,0 +1,24 @@
|
||||
+ Register(ContentSettingsType::TIMEZONE_OVERRIDE, "timezone-override", CONTENT_SETTING_ALLOW,
|
||||
+ WebsiteSettingsInfo::SYNCABLE,
|
||||
+ /*allowlisted_schemes=*/{},
|
||||
+ /*valid_settings=*/{CONTENT_SETTING_ALLOW, // use system time
|
||||
+ CONTENT_SETTING_ASK, // custom timezone, default UTC
|
||||
+ CONTENT_SETTING_BLOCK}, // random
|
||||
+ WebsiteSettingsInfo::TOP_ORIGIN_ONLY_SCOPE,
|
||||
+ WebsiteSettingsRegistry::ALL_PLATFORMS,
|
||||
+ ContentSettingsInfo::INHERIT_IN_INCOGNITO,
|
||||
+ ContentSettingsInfo::EXCEPTIONS_ON_SECURE_AND_INSECURE_ORIGINS);
|
||||
+
|
||||
+ content_settings::WebsiteSettingsRegistry::GetInstance()
|
||||
+ ->GetMutable(ContentSettingsType::TIMEZONE_OVERRIDE)
|
||||
+ ->set_show_into_info_page()
|
||||
+ .set_desktop_ui()
|
||||
+ .set_is_renderer_content_setting()
|
||||
+ .set_title_ui(IDS_SITE_SETTINGS_TIMEZONE_OVERRIDE_TITLE)
|
||||
+ .set_description_ui(IDS_WEBSITE_SETTINGS_TIMEOVERRIDE_INFO)
|
||||
+ .set_allowed_ui(IDS_WEBSITE_SETTINGS_CATEGORY_TIMEZONE_OVERRIDE_ALLOWED)
|
||||
+ .set_blocked_ui(IDS_WEBSITE_SETTINGS_CATEGORY_TIMEZONE_OVERRIDE_RANDOM)
|
||||
+ .set_allowed_exceptions_ui(IDS_WEBSITE_SETTINGS_CATEGORY_TIMEZONE_OVERRIDE_ALLOWED)
|
||||
+ .set_blocked_exceptions_ui(IDS_WEBSITE_SETTINGS_CATEGORY_TIMEZONE_OVERRIDE_RANDOM)
|
||||
+ .set_mid_sentence_ui(IDS_SITE_SETTINGS_TIMEZONE_OVERRIDE_TITLE);
|
||||
+
|
||||
diff --git a/components/content_settings/core/browser/content_settings_pref_provider.cc b/components/content_settings/core/browser/content_settings_pref_provider.cc
|
||||
--- a/components/content_settings/core/browser/content_settings_pref_provider.cc
|
||||
+++ b/components/content_settings/core/browser/content_settings_pref_provider.cc
|
||||
@@ -943,29 +977,6 @@ diff --git a/components/content_settings/core/browser/content_settings_pref_prov
|
||||
};
|
||||
|
||||
} // namespace content_settings
|
||||
diff --git a/components/content_settings/core/browser/content_settings_registry.cc b/components/content_settings/core/browser/content_settings_registry.cc
|
||||
--- a/components/content_settings/core/browser/content_settings_registry.cc
|
||||
+++ b/components/content_settings/core/browser/content_settings_registry.cc
|
||||
@@ -557,6 +557,19 @@ void ContentSettingsRegistry::Init() {
|
||||
ContentSettingsInfo::INHERIT_IN_INCOGNITO,
|
||||
ContentSettingsInfo::EXCEPTIONS_ON_SECURE_AND_INSECURE_ORIGINS);
|
||||
|
||||
+ Register(ContentSettingsType::TIMEZONE_OVERRIDE, "timezone-override", CONTENT_SETTING_ALLOW,
|
||||
+ WebsiteSettingsInfo::SYNCABLE,
|
||||
+ /*allowlisted_schemes=*/{},
|
||||
+ /*valid_settings=*/{CONTENT_SETTING_ALLOW, // use system time
|
||||
+ CONTENT_SETTING_ASK, // custom timezone, default UTC
|
||||
+ CONTENT_SETTING_BLOCK}, // random
|
||||
+ WebsiteSettingsInfo::TOP_ORIGIN_ONLY_SCOPE,
|
||||
+ WebsiteSettingsRegistry::PLATFORM_ANDROID,
|
||||
+ ContentSettingsInfo::INHERIT_IN_INCOGNITO,
|
||||
+ ContentSettingsInfo::EXCEPTIONS_ON_SECURE_AND_INSECURE_ORIGINS,
|
||||
+ /*show_into_info_page*/ false,
|
||||
+ /*is_renderer_content_setting*/ true);
|
||||
+
|
||||
Register(ContentSettingsType::FEDERATED_IDENTITY_API, "webid-api",
|
||||
CONTENT_SETTING_ALLOW, WebsiteSettingsInfo::UNSYNCABLE,
|
||||
/*allowlisted_schemes=*/{},
|
||||
diff --git a/components/content_settings/core/browser/content_settings_utils.cc b/components/content_settings/core/browser/content_settings_utils.cc
|
||||
--- a/components/content_settings/core/browser/content_settings_utils.cc
|
||||
+++ b/components/content_settings/core/browser/content_settings_utils.cc
|
||||
@@ -1012,6 +1023,13 @@ diff --git a/components/content_settings/core/browser/host_content_settings_map.
|
||||
private:
|
||||
friend class base::RefCountedThreadSafe<HostContentSettingsMap>;
|
||||
friend class content_settings::TestUtils;
|
||||
diff --git a/components/content_settings/core/common/bromite_content_settings/TIMEZONE.inc b/components/content_settings/core/common/bromite_content_settings/TIMEZONE.inc
|
||||
new file mode 100644
|
||||
--- /dev/null
|
||||
+++ b/components/content_settings/core/common/bromite_content_settings/TIMEZONE.inc
|
||||
@@ -0,0 +1,2 @@
|
||||
+ // Content setting for timezone customization functionality.
|
||||
+ TIMEZONE_OVERRIDE,
|
||||
diff --git a/components/content_settings/core/common/content_settings.h b/components/content_settings/core/common/content_settings.h
|
||||
--- a/components/content_settings/core/common/content_settings.h
|
||||
+++ b/components/content_settings/core/common/content_settings.h
|
||||
@@ -1060,19 +1078,6 @@ diff --git a/components/content_settings/core/common/content_settings_mojom_trai
|
||||
static bool Read(
|
||||
content_settings::mojom::RendererContentSettingRulesDataView data,
|
||||
RendererContentSettingRules* out);
|
||||
diff --git a/components/content_settings/core/common/content_settings_types.h b/components/content_settings/core/common/content_settings_types.h
|
||||
--- a/components/content_settings/core/common/content_settings_types.h
|
||||
+++ b/components/content_settings/core/common/content_settings_types.h
|
||||
@@ -226,6 +226,9 @@ enum class ContentSettingsType : int32_t {
|
||||
// by the File System Access API.
|
||||
FILE_SYSTEM_LAST_PICKED_DIRECTORY,
|
||||
|
||||
+ // Content setting for timezone customization functionality.
|
||||
+ TIMEZONE_OVERRIDE,
|
||||
+
|
||||
// Controls access to the getDisplayMedia API when {preferCurrentTab: true}
|
||||
// is specified.
|
||||
// TODO(crbug.com/1150788): Also apply this when getDisplayMedia() is called
|
||||
diff --git a/components/content_settings/core/common/pref_names.cc b/components/content_settings/core/common/pref_names.cc
|
||||
--- a/components/content_settings/core/common/pref_names.cc
|
||||
+++ b/components/content_settings/core/common/pref_names.cc
|
||||
|
||||
Reference in New Issue
Block a user