h@`ejG
-zf1G6f$Z`6EO$Y3g91a1QAlwARC8lu|?lvAE{9#EmgOPcI7#kzY1zTeQ2ZoEvAabU<
-z19vk6(~0M7OdJaedHHw)1-`Cs*rjn|m#M=wSI4;7ZZcOY);_x0YOr!8_gDM%YZu2o
-lsP4ZK`F!gs9iW?Eus#pSh>kCpxdHS$gQu&X%Q~loCIHn%d#Fp2!%_zV>{F8`{yVlop4Td;!pv81p=lm1V=ce_mIXYwA8l^tNP
-z>}`Hf^4$43KP-RW{%L95Cw%(s-_lic-mUv{@z=@4$A8}35?!Uoc4Ym3lkXX~SnD?*
-zefE#@LwjLF0lT3>?C;cH6E4_xFqYZ(WxZ2iv*}+v>$?Kmo*N2#nk62rH`92pAiv=s
-z-!%3$`g)vR}U*#(MOYGW`!Ze{Jcr@7w)dK;R4SjE>VwZd4b5
-P>}T+F^>bP0l+XkKNl&N6
-
-literal 0
-HcmV?d00001
-
diff --git a/components/browser_ui/site_settings/android/java/res/xml/single_website_preferences.xml b/components/browser_ui/site_settings/android/java/res/xml/single_website_preferences.xml
--- a/components/browser_ui/site_settings/android/java/res/xml/single_website_preferences.xml
+++ b/components/browser_ui/site_settings/android/java/res/xml/single_website_preferences.xml
@@ -262,7 +181,7 @@ diff --git a/components/browser_ui/site_settings/android/java/res/xml/single_web
diff --git a/components/browser_ui/site_settings/android/java/res/xml/site_settings_preferences.xml b/components/browser_ui/site_settings/android/java/res/xml/site_settings_preferences.xml
--- a/components/browser_ui/site_settings/android/java/res/xml/site_settings_preferences.xml
+++ b/components/browser_ui/site_settings/android/java/res/xml/site_settings_preferences.xml
-@@ -65,6 +65,17 @@
+@@ -65,6 +65,10 @@
@@ -270,13 +189,6 @@ diff --git a/components/browser_ui/site_settings/android/java/res/xml/site_setti
+
-+
-+
& jbrowser_context_handle) {
-+ return GetBooleanForContentSetting(jbrowser_context_handle,
++ return GetBooleanForContentSetting(jbrowser_context_handle,
+ ContentSettingsType::AUTOPLAY);
+}
+
@@ -458,16 +419,13 @@ diff --git a/components/browser_ui/site_settings/android/website_preference_brid
diff --git a/components/browser_ui/strings/android/site_settings.grdp b/components/browser_ui/strings/android/site_settings.grdp
--- a/components/browser_ui/strings/android/site_settings.grdp
+++ b/components/browser_ui/strings/android/site_settings.grdp
-@@ -12,6 +12,18 @@
+@@ -12,6 +12,15 @@
Ads
+
+ Autoplay
+
-+
-+ Media
-+
+
+ Allow autoplay of muted videos for a specific site.
+
@@ -477,6 +435,18 @@ diff --git a/components/browser_ui/strings/android/site_settings.grdp b/componen
Augmented reality
+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
+@@ -324,7 +324,7 @@ void ContentSettingsRegistry::Init() {
+ ContentSettingsInfo::PERSISTENT,
+ ContentSettingsInfo::EXCEPTIONS_ON_SECURE_ORIGINS_ONLY);
+
+- Register(ContentSettingsType::AUTOPLAY, "autoplay", CONTENT_SETTING_ALLOW,
++ Register(ContentSettingsType::AUTOPLAY, "autoplay", CONTENT_SETTING_BLOCK,
+ WebsiteSettingsInfo::UNSYNCABLE, WhitelistedSchemes(),
+ ValidSettings(CONTENT_SETTING_ALLOW, CONTENT_SETTING_BLOCK),
+ WebsiteSettingsInfo::SINGLE_ORIGIN_ONLY_SCOPE,
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
@@ -544,7 +514,7 @@ diff --git a/components/content_settings/core/common/content_settings_mojom_trai
+ const RendererContentSettingRules& r) {
+ return r.autoplay_rules;
+ }
-+
++
static const std::vector& popup_redirect_rules(
const RendererContentSettingRules& r) {
return r.popup_redirect_rules;
@@ -591,6 +561,53 @@ diff --git a/components/page_info/android/page_info_controller_android.cc b/comp
permissions_to_display.push_back(ContentSettingsType::SOUND);
if (base::FeatureList::IsEnabled(features::kWebNfc))
permissions_to_display.push_back(ContentSettingsType::NFC);
+diff --git a/components/page_info/page_info.cc b/components/page_info/page_info.cc
+--- a/components/page_info/page_info.cc
++++ b/components/page_info/page_info.cc
+@@ -102,6 +102,7 @@ ContentSettingsType kPermissionType[] = {
+ ContentSettingsType::ADS,
+ ContentSettingsType::BACKGROUND_SYNC,
+ ContentSettingsType::SOUND,
++ ContentSettingsType::AUTOPLAY,
+ ContentSettingsType::AUTOMATIC_DOWNLOADS,
+ #if defined(OS_ANDROID) || defined(OS_CHROMEOS)
+ ContentSettingsType::PROTECTED_MEDIA_IDENTIFIER,
+@@ -168,6 +169,11 @@ bool ShouldShowPermission(const PageInfoUI::PermissionInfo& info,
+ return is_subresource_filter_activated;
+ }
+
++ // Always show autoplay when it has a site-specific override
++ if (info.type == ContentSettingsType::AUTOPLAY) {
++ return true;
++ }
++
+ if (info.type == ContentSettingsType::SOUND) {
+ // The sound content setting should always show up when the tab has played
+ // audio.
+diff --git a/components/page_info/page_info_ui.cc b/components/page_info/page_info_ui.cc
+--- a/components/page_info/page_info_ui.cc
++++ b/components/page_info/page_info_ui.cc
+@@ -162,6 +162,7 @@ base::span GetContentSettingsUIInfo() {
+ IDS_PAGE_INFO_TYPE_PROTECTED_MEDIA_IDENTIFIER},
+ #endif
+ {ContentSettingsType::ADS, IDS_PAGE_INFO_TYPE_ADS},
++ {ContentSettingsType::AUTOPLAY, IDS_PAGE_INFO_TYPE_AUTOPLAY},
+ {ContentSettingsType::SOUND, IDS_PAGE_INFO_TYPE_SOUND},
+ {ContentSettingsType::CLIPBOARD_READ_WRITE, IDS_PAGE_INFO_TYPE_CLIPBOARD},
+ {ContentSettingsType::SENSORS,
+diff --git a/components/page_info_strings.grdp b/components/page_info_strings.grdp
+--- a/components/page_info_strings.grdp
++++ b/components/page_info_strings.grdp
+@@ -275,6 +275,9 @@
+
+ Sound
+
++
++ Autoplay
++
+
+ Clipboard
+
diff --git a/third_party/blink/public/platform/web_content_settings_client.h b/third_party/blink/public/platform/web_content_settings_client.h
--- a/third_party/blink/public/platform/web_content_settings_client.h
+++ b/third_party/blink/public/platform/web_content_settings_client.h
@@ -633,7 +650,7 @@ diff --git a/third_party/blink/renderer/core/html/media/autoplay_policy.cc b/thi
+ if (!frame)
+ return false;
+ if (auto* settings_client = frame->GetContentSettingsClient())
-+ return settings_client->AllowAutoplay(true /* default_value */);
++ return settings_client->AllowAutoplay(false /* default_value */);
+ return true;
+}
+
diff --git a/build/patches/Timezone-customization.patch b/build/patches/Timezone-customization.patch
index 2e4feacd..e16e04b2 100644
--- a/build/patches/Timezone-customization.patch
+++ b/build/patches/Timezone-customization.patch
@@ -287,7 +287,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
}
+ public static int getCategorySummary(int contentType, @ContentSettingValues int value) {
-+ if(contentType == ContentSettingsType.TIMEZONE_OVERRIDE) {
++ if (contentType == ContentSettingsType.TIMEZONE_OVERRIDE) {
+ switch (value) {
+ case ContentSettingValues.ALLOW:
+ return R.string.website_settings_category_timezone_override_allowed;
@@ -301,7 +301,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
+ }
+ else
+ return getCategorySummary(value);
-+ }
++ }
+
/**
* Returns the string resource id for a content type to show with a permission category.
@@ -310,7 +310,7 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
return descriptionIDs;
}
}
-+ else if(contentType == ContentSettingsType.TIMEZONE_OVERRIDE) {
++ else if (contentType == ContentSettingsType.TIMEZONE_OVERRIDE) {
+ int[] descriptionIDs = {
+ R.string.website_settings_category_timezone_override_allowed, // ALLOWED
+ R.string.website_settings_category_timezone_override_custom, // ASK
@@ -411,9 +411,9 @@ diff --git a/components/browser_ui/site_settings/android/java/src/org/chromium/c
if (mCategory.showSites(SiteSettingsCategory.Type.COOKIES) && mRequiresFourStateSetting) {
setting = cookieSettingsExceptionShouldBlock() ? ContentSettingValues.BLOCK
: ContentSettingValues.ALLOW;
-+ } else if(mRequiresTriStateSetting) {
++ } else if (mRequiresTriStateSetting) {
+ setting = WebsitePreferenceBridge.getContentSetting(browserContextHandle, mCategory.getContentSettingsType());
-+ if(setting == ContentSettingValues.ALLOW) {
++ if (setting == ContentSettingValues.ALLOW) {
+ setting = ContentSettingValues.BLOCK;
+ } else {
+ setting = ContentSettingValues.ALLOW;
@@ -776,9 +776,9 @@ new file mode 100755
+ public void run()
+ {
+ for (int j = 0; j < timezones.size(); j++) {
-+ if(currentSelected.equals(timezones.get(j))) {
++ if (currentSelected.equals(timezones.get(j))) {
+ listView.requestFocusFromTouch();
-+ listView.setSelection(j);
++ listView.setSelection(j);
+ adapter.notifyDataSetChanged();
+ break;
+ }