diff -Nru chromium-141.0.7390.65/chrome/browser/resources/new_tab_page/modules/tab_groups/module.ts chromium-141.0.7390.107/chrome/browser/resources/new_tab_page/modules/tab_groups/module.ts
--- chromium-141.0.7390.65/chrome/browser/resources/new_tab_page/modules/tab_groups/module.ts 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/chrome/browser/resources/new_tab_page/modules/tab_groups/module.ts 2025-10-13 21:41:26.000000000 +0000
@@ -28,11 +28,14 @@
import {TabGroupsProxyImpl} from './tab_groups_proxy.js';
export const MAX_TAB_GROUPS = 4;
+export const COLOR_NEW_TAB_PAGE_MODULE_TAB_GROUPS_PREFIX =
+ '--color-new-tab-page-module-tab-groups-';
+export const COLOR_NEW_TAB_PAGE_MODULE_TAB_GROUPS_DOT_PREFIX =
+ '--color-new-tab-page-module-tab-groups-dot-';
const ModuleElementBase = I18nMixinLit(CrLitElement);
-export function colorIdToString(id: Color): string {
- const colorPrefix = '--color-new-tab-page-module-tab-groups-';
+export function colorIdToString(colorPrefix: string, id: Color): string {
const colorMap = new Map
([
[Color.kGrey, 'grey'],
[Color.kBlue, 'blue'],
@@ -103,7 +106,12 @@
}
protected computeTabGroupColor_(color: Color): string {
- return colorIdToString(color);
+ return colorIdToString(COLOR_NEW_TAB_PAGE_MODULE_TAB_GROUPS_PREFIX, color);
+ }
+
+ protected computeTabGroupDotColor_(color: Color): string {
+ return colorIdToString(
+ COLOR_NEW_TAB_PAGE_MODULE_TAB_GROUPS_DOT_PREFIX, color);
}
protected async computeTabGroupButtonAriaLabel_(group: TabGroup):
diff -Nru chromium-141.0.7390.65/chrome/browser/ui/android/strings/translations/android_chrome_strings_ar.xtb chromium-141.0.7390.107/chrome/browser/ui/android/strings/translations/android_chrome_strings_ar.xtb
--- chromium-141.0.7390.65/chrome/browser/ui/android/strings/translations/android_chrome_strings_ar.xtb 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/chrome/browser/ui/android/strings/translations/android_chrome_strings_ar.xtb 2025-10-13 21:41:26.000000000 +0000
@@ -1398,7 +1398,7 @@
نافذة جديدة
خيارات الاقتراحات
اسحب النافذة للحصول على لقطة شاشة طويلة.
-حدث خطأ ما
+حدث خطأ
{NUM_SELECTED,plural, =1{مشاركة عنصر واحد محدد}zero{مشاركة # عنصر محدد}two{مشاركة عنصرين (#) محددين}few{مشاركة # عناصر محددة}many{مشاركة # عنصرًا محددًا}other{مشاركة # عنصر محدد}}
الوصول إلى طرق الدفع
دليل خيارات الخصوصية
diff -Nru chromium-141.0.7390.65/chrome/browser/ui/android/strings/translations/android_chrome_strings_fa.xtb chromium-141.0.7390.107/chrome/browser/ui/android/strings/translations/android_chrome_strings_fa.xtb
--- chromium-141.0.7390.65/chrome/browser/ui/android/strings/translations/android_chrome_strings_fa.xtb 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/chrome/browser/ui/android/strings/translations/android_chrome_strings_fa.xtb 2025-10-13 21:41:26.000000000 +0000
@@ -622,7 +622,7 @@
این میانبر را بردارید و دوباره ایجاد کنید
اگر میخواهید سایتی در مجموعه سایتهایی که میتوانند علایقتان را حدس بزنند قرار گیرد، آن سایت را دوباره اضافه کنید
میخواهید دوباره را بارگیری کنید؟
-کپی پیوند
+کپی کردن پیوند
صفحه اصلیِ آفلاین
با موردی برجستهشده Google Chrome را سفارشیسازی و کنترل کنید
{NUM_PASSWORDS,plural, =1{۱ گذرواژه لورفته در «حساب Google» شما}one{# گذرواژه لورفته در «حساب Google» شما}other{# گذرواژه لورفته در «حساب Google» شما}}
diff -Nru chromium-141.0.7390.65/chrome/browser/ui/android/strings/translations/android_chrome_strings_fr.xtb chromium-141.0.7390.107/chrome/browser/ui/android/strings/translations/android_chrome_strings_fr.xtb
--- chromium-141.0.7390.65/chrome/browser/ui/android/strings/translations/android_chrome_strings_fr.xtb 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/chrome/browser/ui/android/strings/translations/android_chrome_strings_fr.xtb 2025-10-13 21:41:26.000000000 +0000
@@ -1028,7 +1028,7 @@
Partager le lien
Dinosaure sur Chrome
Voulez-vous quand même télécharger "" ?
-Les onglets et groupes d'onglets que vous n'avez pas utilisés depuis jours sont déplacés ici. Vous pouvez modifier cela à tout moment dans .
+Les onglets et groupes d'onglets que vous n'avez pas utilisés depuis jours sont déplacés ici. Vous pouvez modifier cela à tout moment dans les .
Ouvrir le PDF dans ?
Arrêter le partage ?
suspendu
diff -Nru chromium-141.0.7390.65/chrome/browser/ui/android/strings/translations/android_chrome_strings_hi.xtb chromium-141.0.7390.107/chrome/browser/ui/android/strings/translations/android_chrome_strings_hi.xtb
--- chromium-141.0.7390.65/chrome/browser/ui/android/strings/translations/android_chrome_strings_hi.xtb 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/chrome/browser/ui/android/strings/translations/android_chrome_strings_hi.xtb 2025-10-13 21:41:26.000000000 +0000
@@ -1497,7 +1497,7 @@
आपके देश/इलाके के कानून के आधार पर, ब्राउज़र और सर्च इंजन चुनना ज़रूरी है
{PAYMENT_METHOD,plural, =1{\u2026 और अन्य}one{\u2026 और अन्य}other{\u2026 और अन्य}}
अगर आप साइन इन हैं, तो यह Google की सभी सेवाओं पर आपकी सुरक्षा करती है.
-नई कहानियों के लिए कुछ समय बाद आएं
+नई खबरों के लिए कुछ समय बाद आएं
जोड़ें
शेयर करना बंद करें
अपने सभी डिवाइसों पर बुकमार्क, पासवर्ड वगैरह का ऐक्सेस पाएं
diff -Nru chromium-141.0.7390.65/chrome/browser/ui/android/strings/translations/android_chrome_strings_it.xtb chromium-141.0.7390.107/chrome/browser/ui/android/strings/translations/android_chrome_strings_it.xtb
--- chromium-141.0.7390.65/chrome/browser/ui/android/strings/translations/android_chrome_strings_it.xtb 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/chrome/browser/ui/android/strings/translations/android_chrome_strings_it.xtb 2025-10-13 21:41:26.000000000 +0000
@@ -1810,7 +1810,7 @@
Esegui di nuovo l'accesso
Scegli un account per continuare su
Condividi solo contenuti
-Ti fidi di come questo sito userà i tuoi dati?
+Autorizzi questo sito a usare i tuoi dati?
Picture in picture
Sposta la barra degli indirizzi in basso
La cronologia di navigazione è aperta fino a metà
diff -Nru chromium-141.0.7390.65/chrome/browser/ui/android/strings/translations/android_chrome_strings_nl.xtb chromium-141.0.7390.107/chrome/browser/ui/android/strings/translations/android_chrome_strings_nl.xtb
--- chromium-141.0.7390.65/chrome/browser/ui/android/strings/translations/android_chrome_strings_nl.xtb 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/chrome/browser/ui/android/strings/translations/android_chrome_strings_nl.xtb 2025-10-13 21:41:26.000000000 +0000
@@ -939,7 +939,7 @@
Zorg dat je de Chrome-gegevens in je Google-account altijd kunt gebruiken
Sterk wachtwoord voorgesteld. Toetsenbord verborgen.
doorgeven op ?
- () vraagt je om lid te worden van een tabbladgroep. Iedereen met de link kan alle tabbladen bewerken. Overweeg dus goed of je lid wilt worden. De link verloopt over 48 uur.
+ () vraagt je om lid te worden van een tabbladgroep. Iedereen met de link kan alle tabbladen bewerken. Denk dus goed na voordat je lid wordt. De link verloopt over 48 uur.
Kan AI-assistent niet openen. Probeer het opnieuw.
Verifiëren…
Je krijgt toegang tot je geschiedenis en tabbladen op al je apparaten, zodat je kunt doorgaan met waar je mee bezig was
diff -Nru chromium-141.0.7390.65/chrome/browser/ui/android/strings/translations/android_chrome_strings_th.xtb chromium-141.0.7390.107/chrome/browser/ui/android/strings/translations/android_chrome_strings_th.xtb
--- chromium-141.0.7390.65/chrome/browser/ui/android/strings/translations/android_chrome_strings_th.xtb 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/chrome/browser/ui/android/strings/translations/android_chrome_strings_th.xtb 2025-10-13 21:41:26.000000000 +0000
@@ -842,7 +842,7 @@
คุณบันทึกรูปภาพและไฟล์เพื่อดูแบบออฟไลน์หรือแชร์ในแอปอื่นๆ ได้
{BOOKMARKS_COUNT,plural, =1{ระบบบันทึกบุ๊กมาร์ก 1 รายการและรายการอื่นๆ ไว้ในอุปกรณ์นี้เท่านั้น หากต้องการใช้งานในอุปกรณ์อื่น ให้บันทึกไว้ในบัญชี Google}other{ระบบบันทึกบุ๊กมาร์ก # รายการและรายการอื่นๆ ไว้ในอุปกรณ์นี้เท่านั้น หากต้องการใช้งานในอุปกรณ์อื่น ให้บันทึกไว้ในบัญชี Google}}
เนื่องจากคุณกำลังจะออกจากระบบบัญชีที่จัดการโดย ข้อมูลใน Chrome จะถูกลบออกจากอุปกรณ์นี้ แต่จะยังคงอยู่ในบัญชี Google
-Virtual Reality
+เทคโนโลยีความจริงเสมือน (VR)
ไม่มีผลการค้นหา
ดูข้อมูลเพิ่มเติม...
Bottom Sheet การลงชื่อเข้าใช้เปิดแบบครึ่งหน้า
diff -Nru chromium-141.0.7390.65/chrome/browser/ui/android/strings/translations/android_chrome_strings_zh-CN.xtb chromium-141.0.7390.107/chrome/browser/ui/android/strings/translations/android_chrome_strings_zh-CN.xtb
--- chromium-141.0.7390.65/chrome/browser/ui/android/strings/translations/android_chrome_strings_zh-CN.xtb 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/chrome/browser/ui/android/strings/translations/android_chrome_strings_zh-CN.xtb 2025-10-13 21:41:26.000000000 +0000
@@ -651,7 +651,7 @@
下载网页以便离线查看
您不需要记住此密码。系统会将它保存到 的 Google 密码管理工具中。
通知权限流程已全屏打开
-允许知道链接的任何人加入
+允许任何知道链接的人加入
要与之分享标签页的设备的列表已关闭。
当前设备语言
默认请求桌面版网站
diff -Nru chromium-141.0.7390.65/chrome/browser/ui/color/chrome_color_id.h chromium-141.0.7390.107/chrome/browser/ui/color/chrome_color_id.h
--- chromium-141.0.7390.65/chrome/browser/ui/color/chrome_color_id.h 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/chrome/browser/ui/color/chrome_color_id.h 2025-10-13 21:41:26.000000000 +0000
@@ -314,6 +314,15 @@
E_CPONLY(kColorNewTabPageModuleTabGroupsPurple) \
E_CPONLY(kColorNewTabPageModuleTabGroupsCyan) \
E_CPONLY(kColorNewTabPageModuleTabGroupsOrange) \
+ E_CPONLY(kColorNewTabPageModuleTabGroupsDotGrey) \
+ E_CPONLY(kColorNewTabPageModuleTabGroupsDotBlue) \
+ E_CPONLY(kColorNewTabPageModuleTabGroupsDotRed) \
+ E_CPONLY(kColorNewTabPageModuleTabGroupsDotYellow) \
+ E_CPONLY(kColorNewTabPageModuleTabGroupsDotGreen) \
+ E_CPONLY(kColorNewTabPageModuleTabGroupsDotPink) \
+ E_CPONLY(kColorNewTabPageModuleTabGroupsDotPurple) \
+ E_CPONLY(kColorNewTabPageModuleTabGroupsDotCyan) \
+ E_CPONLY(kColorNewTabPageModuleTabGroupsDotOrange) \
E_CPONLY(kColorNewTabPageMostVisitedForeground) \
E_CPONLY(kColorNewTabPageMostVisitedTileBackground) \
E_CPONLY(kColorNewTabPageMostVisitedTileBackgroundThemed) \
diff -Nru chromium-141.0.7390.65/chrome/browser/ui/color/material_new_tab_page_color_mixer.cc chromium-141.0.7390.107/chrome/browser/ui/color/material_new_tab_page_color_mixer.cc
--- chromium-141.0.7390.65/chrome/browser/ui/color/material_new_tab_page_color_mixer.cc 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/chrome/browser/ui/color/material_new_tab_page_color_mixer.cc 2025-10-13 21:41:26.000000000 +0000
@@ -147,6 +147,23 @@
mixer[kColorNewTabPageModuleTabGroupsOrange] = {
kColorTabGroupBookmarkBarOrange};
+ mixer[kColorNewTabPageModuleTabGroupsDotGrey] = {
+ kColorTabGroupTabStripFrameActiveGrey};
+ mixer[kColorNewTabPageModuleTabGroupsDotBlue] = {
+ kColorTabGroupTabStripFrameActiveBlue};
+ mixer[kColorNewTabPageModuleTabGroupsDotRed] = {
+ kColorTabGroupTabStripFrameActiveRed};
+ mixer[kColorNewTabPageModuleTabGroupsDotYellow] = {
+ kColorTabGroupTabStripFrameActiveYellow};
+ mixer[kColorNewTabPageModuleTabGroupsDotGreen] = {
+ kColorTabGroupTabStripFrameActiveGreen};
+ mixer[kColorNewTabPageModuleTabGroupsDotPink] = {
+ kColorTabGroupTabStripFrameActivePink};
+ mixer[kColorNewTabPageModuleTabGroupsDotPurple] = {
+ kColorTabGroupTabStripFrameActivePurple};
+ mixer[kColorNewTabPageModuleTabGroupsDotOrange] = {
+ kColorTabGroupTabStripFrameActiveOrange};
+
mixer[kColorNewTabPagePromoBackground] = {ui::kColorSysBase};
mixer[kColorNewTabPagePrimaryForeground] = {ui::kColorSysOnSurface};
mixer[kColorNewTabPageSecondaryForeground] = {ui::kColorSysOnSurfaceSubtle};
diff -Nru chromium-141.0.7390.65/chrome/browser/ui/color/new_tab_page_color_mixer.cc chromium-141.0.7390.107/chrome/browser/ui/color/new_tab_page_color_mixer.cc
--- chromium-141.0.7390.65/chrome/browser/ui/color/new_tab_page_color_mixer.cc 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/chrome/browser/ui/color/new_tab_page_color_mixer.cc 2025-10-13 21:41:26.000000000 +0000
@@ -530,5 +530,22 @@
mixer[kColorNewTabPageModuleTabGroupsCyan] = {kColorTabGroupBookmarkBarCyan};
mixer[kColorNewTabPageModuleTabGroupsOrange] = {
kColorTabGroupBookmarkBarOrange};
+
+ mixer[kColorNewTabPageModuleTabGroupsDotGrey] = {
+ kColorTabGroupTabStripFrameActiveGrey};
+ mixer[kColorNewTabPageModuleTabGroupsDotBlue] = {
+ kColorTabGroupTabStripFrameActiveBlue};
+ mixer[kColorNewTabPageModuleTabGroupsDotRed] = {
+ kColorTabGroupTabStripFrameActiveRed};
+ mixer[kColorNewTabPageModuleTabGroupsDotYellow] = {
+ kColorTabGroupTabStripFrameActiveYellow};
+ mixer[kColorNewTabPageModuleTabGroupsDotGreen] = {
+ kColorTabGroupTabStripFrameActiveGreen};
+ mixer[kColorNewTabPageModuleTabGroupsDotPink] = {
+ kColorTabGroupTabStripFrameActivePink};
+ mixer[kColorNewTabPageModuleTabGroupsDotPurple] = {
+ kColorTabGroupTabStripFrameActivePurple};
+ mixer[kColorNewTabPageModuleTabGroupsDotOrange] = {
+ kColorTabGroupTabStripFrameActiveOrange};
// LINT.ThenChange(//chrome/browser/ui/color/material_new_tab_page_color_mixer.cc)
}
diff -Nru chromium-141.0.7390.65/chrome/browser/ui/views/autofill/popup/popup_cell_utils.cc chromium-141.0.7390.107/chrome/browser/ui/views/autofill/popup/popup_cell_utils.cc
--- chromium-141.0.7390.65/chrome/browser/ui/views/autofill/popup/popup_cell_utils.cc 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/chrome/browser/ui/views/autofill/popup/popup_cell_utils.cc 2025-10-13 21:41:26.000000000 +0000
@@ -607,7 +607,8 @@
// Adjust the row height based on the number of subtexts (lines of text).
int row_height = views::MenuConfig::instance().touchable_menu_height;
if (!subtext_views.empty() ||
- (suggestion.type == SuggestionType::kCreditCardEntry &&
+ ((suggestion.type == SuggestionType::kCreditCardEntry ||
+ suggestion.type == SuggestionType::kVirtualCreditCardEntry) &&
base::FeatureList::IsEnabled(
autofill::features::kAutofillEnableNewFopDisplayDesktop))) {
row_height += kAutofillPopupAdditionalDoubleRowHeight;
diff -Nru chromium-141.0.7390.65/chrome/browser/ui/webui/tab_search/tab_search_ui_browsertest.cc chromium-141.0.7390.107/chrome/browser/ui/webui/tab_search/tab_search_ui_browsertest.cc
--- chromium-141.0.7390.65/chrome/browser/ui/webui/tab_search/tab_search_ui_browsertest.cc 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/chrome/browser/ui/webui/tab_search/tab_search_ui_browsertest.cc 2025-10-13 21:41:26.000000000 +0000
@@ -118,7 +118,8 @@
ASSERT_EQ(tab_id, GetActiveTab()->GetHandle());
}
-IN_PROC_BROWSER_TEST_F(TabSearchUIBrowserTest, CloseTabAction) {
+// TODO(https://crbug.com/401303184): Disabled due to excessive flakiness.
+IN_PROC_BROWSER_TEST_F(TabSearchUIBrowserTest, DISABLED_CloseTabAction) {
ASSERT_EQ(4, browser()->tab_strip_model()->GetTabCount());
tabs::TabHandle tab_id =
diff -Nru chromium-141.0.7390.65/chrome/renderer/url_loader_throttle_provider_impl.cc chromium-141.0.7390.107/chrome/renderer/url_loader_throttle_provider_impl.cc
--- chromium-141.0.7390.65/chrome/renderer/url_loader_throttle_provider_impl.cc 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/chrome/renderer/url_loader_throttle_provider_impl.cc 2025-10-13 21:41:26.000000000 +0000
@@ -206,14 +206,9 @@
safe_browsing_.Bind(std::move(pending_safe_browsing_));
}
#if BUILDFLAG(ENABLE_EXTENSIONS)
- if (pending_extension_web_request_reporter_) {
- extension_web_request_reporter_.Bind(
- std::move(pending_extension_web_request_reporter_));
- }
-
auto throttle = std::make_unique(
safe_browsing_.get(), local_frame_token,
- extension_web_request_reporter_.get());
+ CloneExtensionWebRequestReporterPendingRemote());
#else
auto throttle = std::make_unique(
safe_browsing_.get(), local_frame_token);
diff -Nru chromium-141.0.7390.65/chrome/updater/test/integration_tests_impl.cc chromium-141.0.7390.107/chrome/updater/test/integration_tests_impl.cc
--- chromium-141.0.7390.65/chrome/updater/test/integration_tests_impl.cc 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/chrome/updater/test/integration_tests_impl.cc 2025-10-13 21:41:26.000000000 +0000
@@ -171,8 +171,7 @@
R"( { "type":"download",)"
R"( "urls":[{"url":"%s/%s"}],)"
R"( "out":{"sha256":"%s"},)"
- // arbitrary size, must be greater than 0:
- R"( "size": 10},)"
+ R"( "size": %d},)"
R"( %s)"
R"( { "type":"crx3",)"
R"( "arguments":"%s",)"
@@ -192,6 +191,7 @@
.c_str(),
version.GetString().c_str(), codebase.c_str(),
update_file.BaseName().AsUTF8Unsafe().c_str(), hash.c_str(),
+ base::GetFileSize(update_file).value_or(10),
use_xz ? R"({"type":"xz"},)" : "", arguments.c_str(), run_action.c_str(),
hash.c_str());
}
diff -Nru chromium-141.0.7390.65/chromeos/CHROMEOS_LKGM chromium-141.0.7390.107/chromeos/CHROMEOS_LKGM
--- chromium-141.0.7390.65/chromeos/CHROMEOS_LKGM 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/chromeos/CHROMEOS_LKGM 2025-10-13 21:41:26.000000000 +0000
@@ -1 +1 @@
-16404.37.0
\ No newline at end of file
+16404.44.0
\ No newline at end of file
diff -Nru chromium-141.0.7390.65/chromeos/strings/chromeos_strings_ar.xtb chromium-141.0.7390.107/chromeos/strings/chromeos_strings_ar.xtb
--- chromium-141.0.7390.65/chromeos/strings/chromeos_strings_ar.xtb 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/chromeos/strings/chromeos_strings_ar.xtb 2025-10-13 21:41:26.000000000 +0000
@@ -1451,7 +1451,7 @@
أجهزة الشبكات
ترابية
خصِّص لكل إجراء في اللعبة مفتاحًا معيّنًا لتلعب باستخدام لوحة المفاتيح
-حدث خطأ ما
+حدث خطأ
نتيجة البحث من : . اضغط على مفتاح Enter للانتقال إلى الاختصار.
نوع الملف
مشاركة بيانات التشخيص
diff -Nru chromium-141.0.7390.65/chromeos/strings/chromeos_strings_ko.xtb chromium-141.0.7390.107/chromeos/strings/chromeos_strings_ko.xtb
--- chromium-141.0.7390.65/chromeos/strings/chromeos_strings_ko.xtb 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/chromeos/strings/chromeos_strings_ko.xtb 2025-10-13 21:41:26.000000000 +0000
@@ -63,7 +63,7 @@
추천은 설명을 기반으로 합니다.
미디어를 재생 또는 일시중지합니다
닫기
-요약
+요약해 보세요
포털 의심됨
폭포
다른 사용자가 데이터에 액세스하지 못하도록 재설정하고 신뢰할 수 있는 입력 방법만 사용하세요.
diff -Nru chromium-141.0.7390.65/chromeos/strings/chromeos_strings_zh-CN.xtb chromium-141.0.7390.107/chromeos/strings/chromeos_strings_zh-CN.xtb
--- chromium-141.0.7390.65/chromeos/strings/chromeos_strings_zh-CN.xtb 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/chromeos/strings/chromeos_strings_zh-CN.xtb 2025-10-13 21:41:26.000000000 +0000
@@ -1011,7 +1011,7 @@
热狗
已激活
即时网络共享
-颜色
+彩色
以访客身份浏览
受管理
正在下载转写模型
@@ -1209,7 +1209,7 @@
用户名和密码
其他星球
停用浅色主题
-此操作一旦执行便无法撤消
+此操作一旦执行便无法撤销
企业注册
池塘
触摸屏
diff -Nru chromium-141.0.7390.65/chromeos/strings/chromeos_strings_zh-HK.xtb chromium-141.0.7390.107/chromeos/strings/chromeos_strings_zh-HK.xtb
--- chromium-141.0.7390.65/chromeos/strings/chromeos_strings_zh-HK.xtb 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/chromeos/strings/chromeos_strings_zh-HK.xtb 2025-10-13 21:41:26.000000000 +0000
@@ -1011,7 +1011,7 @@
熱狗
已啟用
即時網絡共享
-顏色
+彩色
以訪客身分瀏覽
受管理
轉錄模型下載中
diff -Nru chromium-141.0.7390.65/components/browser_ui/strings/android/translations/browser_ui_strings_es.xtb chromium-141.0.7390.107/components/browser_ui/strings/android/translations/browser_ui_strings_es.xtb
--- chromium-141.0.7390.65/components/browser_ui/strings/android/translations/browser_ui_strings_es.xtb 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/components/browser_ui/strings/android/translations/browser_ui_strings_es.xtb 2025-10-13 21:41:26.000000000 +0000
@@ -45,7 +45,7 @@
Ocultar tarjeta Bajadas de precio en pestañas
Los sitios pueden usar JavaScript
Los sitios no tienen permiso para guardar datos en tu dispositivo
-Los sitios suelen usar la comunicación de campo cercano (NFC) para interactuar con etiquetas o dispositivos cercanos, como los escáneres de tarjetas o los terminales de pago sin contacto
+Los sitios suelen usar la comunicación de campo cercano (NFC) para interactuar con etiquetas o dispositivos cercanos para, p. ej., escanear insignias o pagar sin contacto
Se permiten las cookies de terceros
Acelerar los sitios con el motor V8 de Chrome, pero hacer que Chrome sea un poco menos resistente a los ataques
Hay nuevas acciones disponibles en la parte superior de la pantalla
diff -Nru chromium-141.0.7390.65/components/browser_ui/strings/android/translations/browser_ui_strings_fa.xtb chromium-141.0.7390.107/components/browser_ui/strings/android/translations/browser_ui_strings_fa.xtb
--- chromium-141.0.7390.65/components/browser_ui/strings/android/translations/browser_ui_strings_fa.xtb 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/components/browser_ui/strings/android/translations/browser_ui_strings_fa.xtb 2025-10-13 21:41:26.000000000 +0000
@@ -275,7 +275,7 @@
بارگیری کامل شد
دسترسی به شبکه محلی
سایتها معمولاً آگهی نشان میدهند تا بتوانند محتوا یا سرویسها را بهطور رایگان ارائه دهند. اما برخیاز سایتها بهعنوان سایتهایی شناخته شدهاند که آگهیهای مزاحم یا گمراهکننده نمایش میدهند.
-کپی پیوند
+کپی کردن پیوند
از ؟
میتواند از اطلاعاتتان درحین مرور استفاده کند
درباره این صفحه
diff -Nru chromium-141.0.7390.65/components/browser_ui/strings/android/translations/browser_ui_strings_it.xtb chromium-141.0.7390.107/components/browser_ui/strings/android/translations/browser_ui_strings_it.xtb
--- chromium-141.0.7390.65/components/browser_ui/strings/android/translations/browser_ui_strings_it.xtb 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/components/browser_ui/strings/android/translations/browser_ui_strings_it.xtb 2025-10-13 21:41:26.000000000 +0000
@@ -623,7 +623,7 @@
Contenuti
Trascina dal lato dello schermo per uscire dalla modalità a schermo intero.
Il sito non funziona? Cookie di terze parti bloccati
-Autorizzazione consentita
+: Autorizzazione concessa
Riprendi
La connessione è sicura
,
diff -Nru chromium-141.0.7390.65/components/browser_ui/strings/android/translations/browser_ui_strings_nl.xtb chromium-141.0.7390.107/components/browser_ui/strings/android/translations/browser_ui_strings_nl.xtb
--- chromium-141.0.7390.65/components/browser_ui/strings/android/translations/browser_ui_strings_nl.xtb 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/components/browser_ui/strings/android/translations/browser_ui_strings_nl.xtb 2025-10-13 21:41:26.000000000 +0000
@@ -336,7 +336,7 @@
Als deze optie aanstaat, kunnen sites elke advertentie aan je tonen. Staat de optie uit, dan kunnen sites geen opdringerige of misleidende advertenties tonen.
Zoom
Safe Browsing aanzetten
-Meer informatie over de bron en het onderwerp
+Informatie over bron en onderwerp
Opgeslagen zoomniveau voor sites
Vragen als een site wil weten wanneer je dit apparaat actief gebruikt
Alle sites in dit domein opnemen
diff -Nru chromium-141.0.7390.65/components/browser_ui/strings/android/translations/browser_ui_strings_th.xtb chromium-141.0.7390.107/components/browser_ui/strings/android/translations/browser_ui_strings_th.xtb
--- chromium-141.0.7390.65/components/browser_ui/strings/android/translations/browser_ui_strings_th.xtb 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/components/browser_ui/strings/android/translations/browser_ui_strings_th.xtb 2025-10-13 21:41:26.000000000 +0000
@@ -45,7 +45,7 @@
ซ่อนการ์ด "ดูราคาที่ต่ำลงได้ในแท็บ"
เว็บไซต์ใช้ JavaScript ได้
ไม่อนุญาตให้เว็บไซต์บันทึกข้อมูลในอุปกรณ์ของคุณ
-โดยปกติแล้วเว็บไซต์จะใช้ Near Field Communication (NFC) เพื่อทำงานร่วมกับแท็กหรืออุปกรณ์ที่อยู่ใกล้เคียง เช่น ป้ายสแกนหรือแตะเพื่อจ่าย
+โดยปกติแล้วเว็บไซต์จะใช้ Near Field Communication (NFC) เพื่อทำงานร่วมกับแท็กหรืออุปกรณ์ที่อยู่ใกล้เคียง เช่น การสแกนป้ายหรือการแตะเพื่อจ่าย
อนุญาตคุกกี้ของบุคคลที่สาม
เร่งความเร็วเว็บไซต์ด้วยเครื่องมือ V8 ของ Chrome แต่ทำให้ Chrome ต้านทานการโจมตีได้น้อยลงเล็กน้อย
การดำเนินการใหม่ที่พร้อมใช้งานบริเวณด้านบนของหน้าจอ
@@ -60,7 +60,7 @@
เว็บไซต์ขอใช้อุปกรณ์ NFC ได้
เว็บไซต์มักจะส่งการแจ้งเตือนเพื่อแจ้งให้คุณทราบเกี่ยวกับข่าวด่วนหรือข้อความแชท
บล็อกไม่ให้เว็บไซต์เข้าถึงเซ็นเซอร์ตรวจจับการเคลื่อนไหว
-ไม่อนุญาตให้เว็บไซต์ใช้อุปกรณ์หรือข้อมูล Virtual Reality
+ไม่อนุญาตให้เว็บไซต์ใช้อุปกรณ์หรือข้อมูลเทคโนโลยีความจริงเสมือน (VR)
ไม่อนุญาตให้เว็บไซต์เล่นเสียง
เซ็นเซอร์ตรวจจับการเคลื่อนไหว
เมื่อเปิด เว็บไซต์จะขอจัดการหน้าต่างบนจอแสดงผลทั้งหมดได้ เมื่อปิด เว็บไซต์จะจัดการหน้าต่างบนจอแสดงผลทั้งหมดไม่ได้
@@ -220,7 +220,7 @@
%%
บล็อกคุกกี้ของบุคคลที่สามแล้ว
เมื่อเปิด เว็บไซต์จะขอใช้กล้องของคุณได้ เมื่อปิด เว็บไซต์จะใช้กล้องของคุณไม่ได้
-โดยปกติแล้วเว็บไซต์จะใช้อุปกรณ์และข้อมูล Virtual Reality ของคุณเพื่ออนุญาตให้คุณเข้าสู่เซสชัน VR
+โดยปกติแล้วเว็บไซต์จะใช้อุปกรณ์และข้อมูลเทคโนโลยีความจริงเสมือน (VR) ของคุณเพื่ออนุญาตให้คุณเข้าสู่เซสชัน VR
โดยปกติแล้วเว็บไซต์จะใช้ JavaScript เพื่อแสดงฟีเจอร์แบบอินเทอร์แอกทีฟ เช่น วิดีโอเกมหรือเว็บฟอร์ม
เว็บไซต์ภายใต้
ไม่อนุญาตให้เว็บไซต์ติดตามการเคลื่อนไหวของมือ
@@ -329,7 +329,7 @@
ลบและรีเซ็ต
จัดการโดยผู้ปกครอง
อนุญาตให้ใช้กล้องถ่ายรูป
-Virtual Reality
+เทคโนโลยีความจริงเสมือน (VR)
แตะแอปเบราว์เซอร์แล้วแตะ Chrome
หากต้องการอนุญาตให้ ใช้การติดตามการเคลื่อนไหวของมือ ให้เปิดใช้การติดตามการเคลื่อนไหวของมือในการตั้งค่าระบบด้วย
เซ็นเซอร์จับความเคลื่อนไหวหรือเซ็นเซอร์แสง
@@ -348,7 +348,7 @@
ถูกบล็อกไม่ให้ใช้ข้อมูลของคุณใน
เมื่อเปิด เว็บไซต์จะขอดาวน์โหลดไฟล์หลายไฟล์โดยอัตโนมัติได้ เมื่อปิด เว็บไซต์จะดาวน์โหลดไฟล์หลายไฟล์โดยอัตโนมัติไม่ได้
เพิกถอนสิทธิ์ทั้งหมดสำหรับอุปกรณ์
-เว็บไซต์ขอใช้อุปกรณ์และข้อมูล Virtual Reality ได้
+เว็บไซต์ขอใช้อุปกรณ์และข้อมูลเทคโนโลยีความจริงเสมือน (VR) ได้
Bottom Sheet สีของ Chrome
ไปข้างหน้า
เข้าชมล่าสุด
diff -Nru chromium-141.0.7390.65/components/browser_ui/strings/android/translations/browser_ui_strings_vi.xtb chromium-141.0.7390.107/components/browser_ui/strings/android/translations/browser_ui_strings_vi.xtb
--- chromium-141.0.7390.65/components/browser_ui/strings/android/translations/browser_ui_strings_vi.xtb 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/components/browser_ui/strings/android/translations/browser_ui_strings_vi.xtb 2025-10-13 21:41:26.000000000 +0000
@@ -685,7 +685,7 @@
Duyệt web nhanh hơn vì trang web ít khi yêu cầu xác minh bạn là người thực hơn
Chặn không cho các trang web sử dụng cảm biến
USB
-Hãy thử tạm thời cho phép cookie của bên thứ ba. Chế độ cài đặt này sẽ làm giảm khả năng bảo vệ khi duyệt web nhưng sẽ tăng khả năng các tính năng của trang web hoạt động như dự kiến.
+Hãy thử tạm thời cho phép cookie của bên thứ ba. Chế độ cài đặt này sẽ làm giảm khả năng bảo vệ khi duyệt web nhưng các tính năng của trang có thể sẽ hoạt động đúng như mong đợi.
Khi bạn tiếp tục duyệt web, các trang web có thể kiểm tra qua Chrome và xác minh qua trang web mà bạn truy cập trước đó rằng bạn có thể là người thực
Quảng cáo xâm nhập
Phóng to
diff -Nru chromium-141.0.7390.65/components/browser_ui/strings/android/translations/browser_ui_strings_zh-CN.xtb chromium-141.0.7390.107/components/browser_ui/strings/android/translations/browser_ui_strings_zh-CN.xtb
--- chromium-141.0.7390.65/components/browser_ui/strings/android/translations/browser_ui_strings_zh-CN.xtb 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/components/browser_ui/strings/android/translations/browser_ui_strings_zh-CN.xtb 2025-10-13 21:41:26.000000000 +0000
@@ -56,7 +56,7 @@
历史记录
开启此设置后,网站可以请求使用 NFC 设备。关闭此设置后,网站无法使用 NFC 设备。
允许网站播放声音(推荐)
-系统会使用 Cookie 和其他网站数据来记住您,以便实现某些功能或目的(例如帮您登录或向您展示个性化广告)。如需管理所有网站的 Cookie,请查看设置。
+网站会使用 Cookie 和其他数据来记住您,以便帮您登录或向您展示个性化广告等。如需管理所有网站的 Cookie,请前往设置。
网站可以请求使用 NFC 设备
网站通常会发送通知,告知您重大新闻或聊天消息。
禁止网站使用移动传感器
@@ -686,7 +686,7 @@
由于网站要求您验证自己是真实用户的情况随之减少,浏览体验将变得更加流畅。
禁止网站使用传感器
USB
-尝试暂时允许使用第三方 Cookie,这意味着您将采用较低级别的浏览保护措施,但网站功能更有可能会按预期运行。
+尝试暂时允许使用第三方 Cookie,这样浏览保护会降低,但网站功能更可能正常运行。
随着您继续浏览,所访问的网站可从 Chrome 中获取上一个网站提供的相关信息来验证您可能是真实的用户
侵扰性广告
放大
diff -Nru chromium-141.0.7390.65/components/browser_ui/strings/android/translations/browser_ui_strings_zh-TW.xtb chromium-141.0.7390.107/components/browser_ui/strings/android/translations/browser_ui_strings_zh-TW.xtb
--- chromium-141.0.7390.65/components/browser_ui/strings/android/translations/browser_ui_strings_zh-TW.xtb 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/components/browser_ui/strings/android/translations/browser_ui_strings_zh-TW.xtb 2025-10-13 21:41:26.000000000 +0000
@@ -130,7 +130,7 @@
啟用快速鍵
外觀
下載完成
-你已暫時允許這個網站使用第三方 Cookie。換言之,網頁瀏覽防護的強度會降低,但網站功能正常運作的機率會提高。提供意見
+你已暫時允許這個網站使用第三方 Cookie。此時瀏覽防護程度較低,但會增加網站功能正常運作的機率。提供意見
一律要求電腦版網站
Chrome 現在會將最近開啟的分頁分享給裝置,這些資訊會顯示在裝置的應用程式清單和搜尋結果。你隨時可以前往 Chrome 設定頁面關閉這項功能。
網站通常會連線至序列埠,以提供設定網路等資料移轉功能
@@ -686,7 +686,7 @@
降低網站確認你是否為真人的機率,提供更快速的瀏覽體驗
禁止網站存取感應器
USB
-請嘗試暫時允許使用第三方 Cookie,這代表網頁瀏覽保護程度較低,但網站功能較容易正常運作。
+請嘗試暫時允許使用第三方 Cookie。這個操作會降低瀏覽防護程度,但會增加網站功能正常運作的機率。
你隨後瀏覽的網站可從 Chrome 取得前一個網站提供的資訊,確認你應該是真人
侵入式廣告
放大
diff -Nru chromium-141.0.7390.65/components/certificate_transparency/data/log_list.json chromium-141.0.7390.107/components/certificate_transparency/data/log_list.json
--- chromium-141.0.7390.65/components/certificate_transparency/data/log_list.json 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/components/certificate_transparency/data/log_list.json 2025-10-13 21:41:26.000000000 +0000
@@ -1,6 +1,6 @@
{
- "version": "69.15",
- "log_list_timestamp": "2025-10-02T12:53:10Z",
+ "version": "72.3",
+ "log_list_timestamp": "2025-10-12T12:54:04Z",
"operators": [
{
"name": "Google",
@@ -251,6 +251,38 @@
}
},
{
+ "description": "DigiCert 'Wyvern2027h1'",
+ "log_id": "ABpdGhwtk3W2SFV4+C9xoa5u7zl9KXyK4xV7yt7hoB4=",
+ "key": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEastxYj1mntGuyv74k4f+yaIx+ZEzlSJ+iVTYWlw8SpSKJ4TfxYWuBhnETlhpyG/5seJn0mOSnVgXsZ1JRflI7g==",
+ "url": "https://wyvern.ct.digicert.com/2027h1/",
+ "mmd": 86400,
+ "state": {
+ "qualified": {
+ "timestamp": "2025-10-10T18:00:00Z"
+ }
+ },
+ "temporal_interval": {
+ "start_inclusive": "2027-01-01T00:00:00Z",
+ "end_exclusive": "2027-07-01T00:00:00Z"
+ }
+ },
+ {
+ "description": "DigiCert 'Wyvern2027h2'",
+ "log_id": "N6oHzCFvLm2RnHCdJNj3MbAPKxR8YhzAkaX6GoTYFt0=",
+ "key": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEuOg8hcgaYT/MShxpag2Hige0zsLzz8vOLZXp6faCdzM+Mn/njyU9ROAuwDxuu88/Grxn46kmehdOKVDFexbdSg==",
+ "url": "https://wyvern.ct.digicert.com/2027h2/",
+ "mmd": 86400,
+ "state": {
+ "qualified": {
+ "timestamp": "2025-10-10T18:00:00Z"
+ }
+ },
+ "temporal_interval": {
+ "start_inclusive": "2027-07-01T00:00:00Z",
+ "end_exclusive": "2028-01-01T00:00:00Z"
+ }
+ },
+ {
"description": "DigiCert 'Sphinx2025h2' Log",
"log_id": "pELFBklgYVSPD9TqnPt6LSZFTYepfy/fRVn2J086hFQ=",
"key": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEQYxQE1SxGQW3f0ogbqN1Y8o09Mx06jI7tosDFKhSfzKHXlmeD6sYnilstXJ3GidUhV3BeySoNOPNiM7UUBu+aQ==",
@@ -297,6 +329,38 @@
"start_inclusive": "2026-07-01T00:00:00Z",
"end_exclusive": "2027-01-01T00:00:00Z"
}
+ },
+ {
+ "description": "DigiCert 'sphinx2027h1'",
+ "log_id": "RqI5Z8YNtkaHxm89+ZmUdpOmphEghFfVVefj0KHZtkY=",
+ "key": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEvirIq1XPwgwG7BnbMh2zoUbEt+T8z8XAtg9lo8jma+aaTQl8iVCypUFXtLpt4/SHaoUzbvcjDX/6B1IbL3OoIQ==",
+ "url": "https://sphinx.ct.digicert.com/2027h1/",
+ "mmd": 86400,
+ "state": {
+ "qualified": {
+ "timestamp": "2025-10-10T18:00:00Z"
+ }
+ },
+ "temporal_interval": {
+ "start_inclusive": "2027-01-01T00:00:00Z",
+ "end_exclusive": "2027-07-01T00:00:00Z"
+ }
+ },
+ {
+ "description": "DigiCert 'sphinx2027h2'",
+ "log_id": "H7D4qS2K3aEhd2wF4qouFbrLxitlOTaVV2qqtS4R0R0=",
+ "key": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEUCe23M889mAsUVeTTBcNsAmP374ZWQboLdR8RdGwM3VZ6P/sDwhrL7wK4zrXPh3HwLDDLxDjvRBeivUSbpZSwA==",
+ "url": "https://sphinx.ct.digicert.com/2027h2/",
+ "mmd": 86400,
+ "state": {
+ "qualified": {
+ "timestamp": "2025-10-10T18:00:00Z"
+ }
+ },
+ "temporal_interval": {
+ "start_inclusive": "2027-07-01T00:00:00Z",
+ "end_exclusive": "2028-01-01T00:00:00Z"
+ }
}
],
"tiled_logs": []
@@ -974,8 +1038,8 @@
"monitoring_url": "https://tuscolo2027h1.skylight.geomys.org/",
"mmd": 60,
"state": {
- "qualified": {
- "timestamp": "2025-07-29T21:00:00Z"
+ "usable": {
+ "timestamp": "2025-10-08T21:00:00Z"
}
},
"temporal_interval": {
@@ -991,8 +1055,8 @@
"monitoring_url": "https://tuscolo2027h2.skylight.geomys.org/",
"mmd": 60,
"state": {
- "qualified": {
- "timestamp": "2025-07-29T21:00:00Z"
+ "usable": {
+ "timestamp": "2025-10-08T21:00:00Z"
}
},
"temporal_interval": {
@@ -1027,6 +1091,74 @@
],
"tiled_logs": [
{
+ "description": "IPng Networks 'Halloumi2025h2'",
+ "log_id": "+3xjpo0eBq3Qg4ibuNQyHLJFROv2/mlyKRkuOD5ebiM=",
+ "key": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEqJxSnCcMhWikCFeWo1RiplGaVEZL5Vn4KEJYZM97Ro5XuTg4h6+n807utfPS7qqpLv5me/ddlpKFGoFfkMBrAQ==",
+ "submission_url": "https://halloumi2025h2.log.ct.ipng.ch/",
+ "monitoring_url": "https://halloumi2025h2.mon.ct.ipng.ch/",
+ "mmd": 60,
+ "state": {
+ "qualified": {
+ "timestamp": "2025-10-07T18:30:00Z"
+ }
+ },
+ "temporal_interval": {
+ "start_inclusive": "2025-07-01T00:00:00Z",
+ "end_exclusive": "2026-01-01T00:00:00Z"
+ }
+ },
+ {
+ "description": "IPng Networks 'Halloumi2026h1'",
+ "log_id": "fz035/iSPY5xZb6w0+q+5yoivkbAy4TEFtTkuYJky8I=",
+ "key": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEzdcnGwRjm2ZoA68JFZKfoM4cOPPG2fr0iR72p3XanznOlw57HJ9RlYRNt75gIMIKgB1r0dxY5Jojq1m8uobYjg==",
+ "submission_url": "https://halloumi2026h1.log.ct.ipng.ch/",
+ "monitoring_url": "https://halloumi2026h1.mon.ct.ipng.ch/",
+ "mmd": 60,
+ "state": {
+ "qualified": {
+ "timestamp": "2025-10-07T18:30:00Z"
+ }
+ },
+ "temporal_interval": {
+ "start_inclusive": "2026-01-01T00:00:00Z",
+ "end_exclusive": "2026-07-01T00:00:00Z"
+ }
+ },
+ {
+ "description": "IPng Networks 'Halloumi2027h1'",
+ "log_id": "ROgi/CurDpLu0On61pZkYCd20Bdg4IkFCckjobA/w38=",
+ "key": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEw5SUl2yfd5TFSqUGv7A+I5+TpLe+zEccmtWVQakQQtOHYKqH8TbycalFx5xaqE5PU4NEwwnAJ9FWeT/6QaovZw==",
+ "submission_url": "https://halloumi2027h1.log.ct.ipng.ch/",
+ "monitoring_url": "https://halloumi2027h1.mon.ct.ipng.ch/",
+ "mmd": 60,
+ "state": {
+ "qualified": {
+ "timestamp": "2025-10-07T18:30:00Z"
+ }
+ },
+ "temporal_interval": {
+ "start_inclusive": "2027-01-01T00:00:00Z",
+ "end_exclusive": "2027-07-01T00:00:00Z"
+ }
+ },
+ {
+ "description": "IPng Networks 'Halloumi2027h2'",
+ "log_id": "CRV/Yy1Gx/dtlSZUk7wPALOVrF2zorJr+wQ9ukrGOJM=",
+ "key": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAErmKbFkPG7QfQUARhbIik8vVbIkXhK+YMB6TvLZkyhnzv7wedn+l7VChqovZHKOQXmZEd4B+3ljovIpQz2HmyHA==",
+ "submission_url": "https://halloumi2027h2.log.ct.ipng.ch/",
+ "monitoring_url": "https://halloumi2027h2.mon.ct.ipng.ch/",
+ "mmd": 60,
+ "state": {
+ "qualified": {
+ "timestamp": "2025-10-07T18:30:00Z"
+ }
+ },
+ "temporal_interval": {
+ "start_inclusive": "2027-07-01T00:00:00Z",
+ "end_exclusive": "2028-01-01T00:00:00Z"
+ }
+ },
+ {
"description": "IPng Networks 'Gouda2025h2'",
"log_id": "GoudanQ8ze1gH3O9MJcIHbyuxKYTnJKwtUDDE3sg7AU=",
"key": "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEpHiP24MNo8pgt5RNoawsvGIwSaVEKNqdzYCUXtMu0MM15t63d26eDUDz+nkQjACuRo4LRJcyia7I0anEdNH9wA==",
diff -Nru chromium-141.0.7390.65/components/omnibox/browser/omnibox_edit_model.cc chromium-141.0.7390.107/components/omnibox/browser/omnibox_edit_model.cc
--- chromium-141.0.7390.65/components/omnibox/browser/omnibox_edit_model.cc 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/components/omnibox/browser/omnibox_edit_model.cc 2025-10-13 21:41:26.000000000 +0000
@@ -750,7 +750,9 @@
}
void OmniboxEditModel::OpenAiMode(bool via_keyboard) {
- std::u16string query_text = current_match_.contents;
+ std::u16string query_text =
+ AutocompleteMatch::IsSearchType(current_match_.type) ?
+ current_match_.contents : u"";
RecordAiModeMetrics(query_text, /*activated=*/true, via_keyboard);
GURL ai_mode_url =
GetUrlForAim(controller_->client()->GetTemplateURLService(),
diff -Nru chromium-141.0.7390.65/components/policy/resources/policy_templates_it.xtb chromium-141.0.7390.107/components/policy/resources/policy_templates_it.xtb
--- chromium-141.0.7390.65/components/policy/resources/policy_templates_it.xtb 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/components/policy/resources/policy_templates_it.xtb 2025-10-13 21:41:26.000000000 +0000
@@ -1236,7 +1236,7 @@
L'ordine dell'elenco sarà uguale a quello nella sezione "Ordina le lingue in base alle tue preferenze" della pagina chrome://settings/languages. Gli utenti non potranno rimuovere o cambiare l'ordine delle lingue impostate nella policy, ma potranno aggiungere lingue sotto quelle impostate nella policy. Gli utenti avranno inoltre il pieno controllo della lingua dell'interfaccia utente del browser e delle impostazioni di traduzione/controllo ortografico, a meno che non vengano applicate da altre policy.
Se la policy non viene configurata, gli utenti possono modificare l'intero elenco di lingue preferite.
-Elenco di applicazioni bloccate da visualizzare in Avvio applicazioni
+Lista di app fissate da visualizzare in Avvio applicazioni
Blocca cookie su questi siti
Consenti l'uso del tethering istantaneo.
Attiva l'invio automatico del PIN nella schermata di blocco e accesso
@@ -1879,13 +1879,13 @@
Gli utenti possono selezionare un layout di modelli di scrivanie da caricare
Non consentire l'uso del filtro delle prestazioni di accessibilità.
Disattiva il supporto degli URL di dati in SVGUseElement.
- Consente di controllare gli avvisi sulla privacy della sessione Ospite gestita su .
+Consente di controllare gli avvisi sulla privacy della sessione Ospite gestita su .
Se la policy è impostata su false, gli avvisi sulla privacy sulla schermata di accesso e la notifica sull'avvio automatico all'interno della sessione Ospite verranno disattivati.
Questa policy non dovrebbe essere utilizzata per i dispositivi usati dal pubblico generale.
- Se la policy è impostata su true o non configurata, la notifica di avviso sulla privacy nella sessione Ospite gestita con avvio automatico verrà bloccata finché l'utente non la ignorerà.
+ Se la policy è impostata su true o non configurata, la notifica di avviso sulla privacy nella sessione Ospite gestita con avvio automatico verrà fissata finché non viene chiusa dall'utente.
La configurazione della policy consente di attivare la funzionalità di accesso limitato di Chrome in e di impedire agli utenti di modificare questa impostazione. Gli utenti possono accedere agli strumenti Google soltanto con gli account dei domini specificati (per consentire gli account Gmail o googlemail, aggiungi consumer_accounts all'elenco dei domini). Questa impostazione impedisce agli utenti di accedere a un account secondario e di aggiungerne uno su un dispositivo gestito che richiede l'autenticazione di Google, se tale account non appartiene a uno dei domini esplicitamente consentiti.
Se questa impostazione viene lasciata vuota o se non viene configurata, gli utenti possono accedere a con qualsiasi account.
@@ -1905,7 +1905,7 @@
Se questa policy viene impostata su Disattivata, non è possibile avviare o configurare il servizio host di accesso remoto per accettare le connessioni in arrivo. Questa policy non influisce sugli scenari di assistenza remota.
La policy non ha effetto se viene impostata su Attivata, se viene lasciata vuota o se non viene configurata.
-La configurazione della policy consente di correggere quali identificatori di applicazioni vengono mostrati da come app bloccate nella barra Avvio app e gli utenti non possono modificarli.
+La configurazione della policy consente di correggere quali identificatori di applicazioni vengono mostrati da come app fissate sulla barra Avvio app e gli utenti non possono modificarli.
Specifica le app di Chrome tramite il relativo ID, come pjkljhegncpnkpknbcohdijeoejaedia;
le app per Android tramite il relativo nome del pacchetto, ad esempio com.google.android.gm;
@@ -1913,7 +1913,7 @@
e le app web di sistema tramite il nome in snake case, ad esempio .
App web isolate tramite il relativo ID pacchetto web, ad esempio .
-Se la policy non viene configurata, gli utenti possono modificare l'elenco di app bloccate in Avvio app.
+Se la policy non viene configurata, gli utenti possono modificare l'elenco di app fissate in Avvio app.
Consenti il concetto di gruppi atomici di policy
Se la policy è impostata su True, viene visualizzato un grande pulsante di disconnessione nella barra delle applicazioni durante le sessioni attive mentre la schermata non è bloccata.
@@ -4285,13 +4285,13 @@
Disattiva l'integrazione di Lens
URL a cui verrà concesso l'accesso ai dispositivi di acquisizione video su pagine di accesso SAML
Non mostrare il flusso Voice Match dell'Assistente Google durante la configurazione iniziale
- Tieni presente che questa policy è stata deprecata nella versione M87 e verrà rimossa nella versione M89. Utilizza invece per configurare gli avvisi sulla privacy delle sessioni Ospite gestite.
+Tieni presente che questa policy è stata deprecata nella versione M87 e verrà rimossa nella versione M89. Utilizza invece per configurare gli avvisi sulla privacy delle sessioni Ospite gestite.
Controlla la notifica sull'avvio automatico della sessione Ospite gestita su .
Se la policy viene impostata su True, la notifica di avviso sulla privacy viene chiusa dopo alcuni secondi.
- Se la policy viene impostata su False o non viene impostata, la notifica di avviso sulla privacy viene bloccata finché non viene ignorata dall'utente.
+ Se la policy viene impostata su False o non viene impostata, la notifica di avviso sulla privacy viene fissata finché non viene chiusa dall'utente.
Se questa norma viene impostata su True o non viene configurata, nella schermata di accesso di verranno visualizzati gli utenti esistenti tra cui sarà possibile selezionare un utente.
Se la norma è impostata su False, nella schermata di accesso di non verranno visualizzati gli utenti esistenti. Verrà visualizzata la normale schermata di accesso (richiesta di email utente e password o telefono) o la schermata interstiziale SAML (se attivata tramite la norma ), a meno che non sia stata configurata una sessione gestita. Quando viene configurata una sessione gestita, verranno visualizzati solo gli account della sessione gestita, consentendo di selezionarne uno.
@@ -9961,7 +9961,7 @@
Se la policy non viene configurata, il browser determina quali origini isolare e quando isolarle.
Mostra suggerimenti di contenuti nella pagina Nuova scheda
L'impostazione di una scorciatoia per l'azione "Inserisci" è disattivata.
-Specifica la versione che vuoi dell'IWA. Se viene fornita, il sistema tenterà di installare questa versione specifica e successivamente bloccherà eventuali ulteriori aggiornamenti. Per sbloccare l'app e abilitare nuovamente gli aggiornamenti, rimuovi questo campo. **Importante:** se la versione fornita non esiste, l'IWA rimane bloccata sulla versione installata al momento. Questo perché dopo aver tentato (e in questo caso senza successo) di eseguire l'aggiornamento alla versione bloccata, la limitazione degli aggiornamenti disabilita ulteriori aggiornamenti automatici.
+Specifica la versione che vuoi dell'IWA. Se viene fornita, il sistema tenterà di installare questa versione specifica e successivamente bloccherà eventuali ulteriori aggiornamenti. Per staccare l'app e abilitare nuovamente gli aggiornamenti, rimuovi questo campo. **Importante:** se la versione fornita non esiste, l'IWA rimane bloccata sulla versione installata al momento. Questo perché dopo aver tentato (e in questo caso senza successo) di eseguire l'aggiornamento alla versione staccata, la limitazione degli aggiornamenti disabilita ulteriori aggiornamenti automatici.
Disattiva insiemi di siti web correlati
Consenti l'uso dell'accesso tramite Smart Lock.
Se la policy viene configurata, puoi impostare un elenco di pattern URL che possono usare la funzionalità di acquisizione schede.
diff -Nru chromium-141.0.7390.65/components/safe_browsing/content/renderer/renderer_url_loader_throttle.cc chromium-141.0.7390.107/components/safe_browsing/content/renderer/renderer_url_loader_throttle.cc
--- chromium-141.0.7390.65/components/safe_browsing/content/renderer/renderer_url_loader_throttle.cc 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/components/safe_browsing/content/renderer/renderer_url_loader_throttle.cc 2025-10-13 21:41:26.000000000 +0000
@@ -47,10 +47,12 @@
RendererURLLoaderThrottle::RendererURLLoaderThrottle(
mojom::SafeBrowsing* safe_browsing,
base::optional_ref local_frame_token,
- mojom::ExtensionWebRequestReporter* extension_web_request_reporter)
+ mojo::PendingRemote
+ extension_web_request_reporter)
: safe_browsing_(safe_browsing),
frame_token_(local_frame_token.CopyAsOptional()),
- extension_web_request_reporter_(extension_web_request_reporter) {}
+ extension_web_request_reporter_(
+ std::move(extension_web_request_reporter)) {}
#endif // BUILDFLAG(ENABLE_EXTENSIONS)
RendererURLLoaderThrottle::~RendererURLLoaderThrottle() {
@@ -67,12 +69,12 @@
safe_browsing_ = nullptr;
#if BUILDFLAG(ENABLE_EXTENSIONS)
- // Create a new pipe to the ExtensionWebRequestReporter interface that can be
- // bound to a different sequence.
- extension_web_request_reporter_->Clone(
- extension_web_request_reporter_pending_remote_
- .InitWithNewPipeAndPassReceiver());
- extension_web_request_reporter_ = nullptr;
+ // Pass the pipe to the ExtensionWebRequestReporter interface to be bound to
+ // a different sequence.
+ if (extension_web_request_reporter_) {
+ pending_extension_web_request_reporter_ =
+ extension_web_request_reporter_.Unbind();
+ }
#endif // BUILDFLAG(ENABLE_EXTENSIONS)
}
@@ -112,7 +114,6 @@
#if BUILDFLAG(ENABLE_EXTENSIONS)
BindExtensionWebRequestReporterPipeIfDetached();
-
// Send redirected request data to the browser if request originated from an
// extension and the redirected url is HTTP/HTTPS scheme only.
if (!origin_extension_id_.empty() &&
@@ -218,18 +219,15 @@
#if BUILDFLAG(ENABLE_EXTENSIONS)
void RendererURLLoaderThrottle::
BindExtensionWebRequestReporterPipeIfDetached() {
- if (extension_web_request_reporter_pending_remote_.is_valid()) {
- extension_web_request_reporter_remote_.Bind(
- std::move(extension_web_request_reporter_pending_remote_));
- extension_web_request_reporter_ =
- extension_web_request_reporter_remote_.get();
+ if (pending_extension_web_request_reporter_) {
+ extension_web_request_reporter_.Bind(
+ std::move(pending_extension_web_request_reporter_));
}
}
void RendererURLLoaderThrottle::MaybeSendExtensionWebRequestData(
network::ResourceRequest* request) {
BindExtensionWebRequestReporterPipeIfDetached();
-
// Skip if request destination isn't HTTP/HTTPS (ex. extension scheme).
if (!request->url.SchemeIsHTTPOrHTTPS()) {
return;
diff -Nru chromium-141.0.7390.65/components/safe_browsing/content/renderer/renderer_url_loader_throttle.h chromium-141.0.7390.107/components/safe_browsing/content/renderer/renderer_url_loader_throttle.h
--- chromium-141.0.7390.65/components/safe_browsing/content/renderer/renderer_url_loader_throttle.h 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/components/safe_browsing/content/renderer/renderer_url_loader_throttle.h 2025-10-13 21:41:26.000000000 +0000
@@ -39,12 +39,13 @@
mojom::SafeBrowsing* safe_browsing,
base::optional_ref local_frame_token);
#if BUILDFLAG(ENABLE_EXTENSIONS)
- // |extension_web_request_reporter_pending_remote| is used for sending
+ // |extension_web_request_reporter| is used for sending
// extension web requests to the browser.
RendererURLLoaderThrottle(
mojom::SafeBrowsing* safe_browsing,
base::optional_ref local_frame_token,
- mojom::ExtensionWebRequestReporter* extension_web_request_reporter);
+ mojo::PendingRemote
+ extension_web_request_reporter);
#endif // BUILDFLAG(ENABLE_EXTENSIONS)
~RendererURLLoaderThrottle() override;
@@ -57,6 +58,8 @@
DoesNotDeferChromeUrl);
FRIEND_TEST_ALL_PREFIXES(SBRendererUrlLoaderThrottleTest,
DoesNotDeferIframeUrl);
+ FRIEND_TEST_ALL_PREFIXES(SBRendererUrlLoaderThrottleTest,
+ WillRedirectRequest_ProviderDestroyed_NoCrash);
// blink::URLLoaderThrottle implementation.
void DetachFromCurrentSequence() override;
@@ -108,12 +111,10 @@
// originated from an extension and destination is HTTP/HTTPS scheme only.
void MaybeSendExtensionWebRequestData(network::ResourceRequest* request);
- raw_ptr
+ mojo::Remote
extension_web_request_reporter_;
mojo::PendingRemote
- extension_web_request_reporter_pending_remote_;
- mojo::Remote
- extension_web_request_reporter_remote_;
+ pending_extension_web_request_reporter_;
// Tracks if the request originated from an extension, used during redirects
// to send web request data to the telemetry service.
std::string origin_extension_id_;
diff -Nru chromium-141.0.7390.65/components/safe_browsing/content/renderer/renderer_url_loader_throttle_unittest.cc chromium-141.0.7390.107/components/safe_browsing/content/renderer/renderer_url_loader_throttle_unittest.cc
--- chromium-141.0.7390.65/components/safe_browsing/content/renderer/renderer_url_loader_throttle_unittest.cc 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/components/safe_browsing/content/renderer/renderer_url_loader_throttle_unittest.cc 2025-10-13 21:41:26.000000000 +0000
@@ -146,4 +146,74 @@
EXPECT_FALSE(defer);
}
+#if BUILDFLAG(ENABLE_EXTENSIONS)
+class MockExtensionWebRequestReporter
+ : public mojom::ExtensionWebRequestReporter {
+ public:
+ MockExtensionWebRequestReporter() = default;
+ ~MockExtensionWebRequestReporter() override = default;
+
+ void SendWebRequestData(
+ const std::string& extension_id,
+ const GURL& url,
+ mojom::WebRequestProtocolType protocol_type,
+ mojom::WebRequestContactInitiatorType initiator_type) override {}
+
+ void Clone(mojo::PendingReceiver receiver)
+ override {
+ clone_receiver_.Bind(std::move(receiver));
+ }
+
+ mojo::Receiver receiver_{this};
+
+ private:
+ mojo::Receiver clone_receiver_{this};
+};
+
+TEST_F(SBRendererUrlLoaderThrottleTest,
+ WillRedirectRequest_ProviderDestroyed_NoCrash) {
+ auto reporter = std::make_unique();
+ mojo::Remote remote;
+ reporter->receiver_.Bind(remote.BindNewPipeAndPassReceiver());
+
+ mojo::PendingRemote pending_remote;
+ remote->Clone(pending_remote.InitWithNewPipeAndPassReceiver());
+
+ throttle_ = std::make_unique(
+ safe_browsing_remote_.get(), std::nullopt, std::move(pending_remote));
+ throttle_->set_delegate(throttle_delegate_.get());
+
+ GURL url("http://example.com/");
+ bool defer = false;
+ network::ResourceRequest request =
+ GetResourceRequest(url, network::mojom::RequestDestination::kScript);
+ request.request_initiator =
+ url::Origin::Create(GURL("chrome-extension://abc"));
+ throttle_->WillStartRequest(&request, &defer);
+ EXPECT_FALSE(defer);
+
+ net::RedirectInfo redirect_info;
+ redirect_info.new_url = GURL("http://example.com/redirect");
+ auto response_head = network::mojom::URLResponseHead::New();
+ std::vector to_be_removed_headers;
+ net::HttpRequestHeaders modified_headers;
+ net::HttpRequestHeaders modified_cors_exempt_headers;
+ throttle_->WillRedirectRequest(&redirect_info, *response_head, &defer,
+ &to_be_removed_headers, &modified_headers,
+ &modified_cors_exempt_headers);
+
+ // Destroy the reporter, simulating the URLLoaderThrottleProviderImpl being
+ // destroyed. This should cause the pipe in the throttle to be closed.
+ base::RunLoop run_loop;
+ remote.set_disconnect_handler(run_loop.QuitClosure());
+ reporter.reset();
+
+ // Run the message loop until the disconnection is detected. If the UAF bug
+ // exists, this will crash.
+ run_loop.Run();
+
+ // If we reach here, the test has passed because it didn't crash.
+}
+#endif // BUILDFLAG(ENABLE_EXTENSIONS)
+
} // namespace safe_browsing
diff -Nru chromium-141.0.7390.65/components/strings/components_strings_ar.xtb chromium-141.0.7390.107/components/strings/components_strings_ar.xtb
--- chromium-141.0.7390.65/components/strings/components_strings_ar.xtb 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/components/strings/components_strings_ar.xtb 2025-10-13 21:41:26.000000000 +0000
@@ -3808,7 +3808,7 @@
أوعية لتناول الطعام
"الرد بنعم على دعوة الزفاف هذه بأسلوب حماسي"
الاسم المكتوب على البطاقة غير صالح
-حدث خطأ ما
+حدث خطأ
سطر الأوامر
تم حظر الإعلانات.
ستظهر لك عند الدفع أي خصومات متوفّرة بعد أن ترصدها Google.
diff -Nru chromium-141.0.7390.65/components/strings/components_strings_es-419.xtb chromium-141.0.7390.107/components/strings/components_strings_es-419.xtb
--- chromium-141.0.7390.65/components/strings/components_strings_es-419.xtb 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/components/strings/components_strings_es-419.xtb 2025-10-13 21:41:26.000000000 +0000
@@ -4897,7 +4897,7 @@
Obtén más información sobre los anuncios sugeridos por sitios y la medición de anuncios
Información del navegador y el SO del dispositivo (como las versiones del navegador y el SO)
Tener acceso directo a tus impresoras
-Permitir que los sitios comprueben si tienes formas de pago guardadas.
+Permitir que los sitios comprueben si tienes formas de pago guardadas
Bloquear siempre en este sitio
Agrega a la pantalla principal
&Deshacer
diff -Nru chromium-141.0.7390.65/components/strings/components_strings_fr.xtb chromium-141.0.7390.107/components/strings/components_strings_fr.xtb
--- chromium-141.0.7390.65/components/strings/components_strings_fr.xtb 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/components/strings/components_strings_fr.xtb 2025-10-13 21:41:26.000000000 +0000
@@ -6,7 +6,7 @@
Pas maintenant
Utiliser votre position ?
Charger la page plus tard
-Contactez l'expéditeur pour lui demander un nouveau lien
+Contactez la personne qui l'a envoyé pour lui demander un nouveau lien
Préparation des fichiers…
Annulation du résultat…
Fournir des informations supplémentaires
@@ -201,7 +201,7 @@
Envoyer un rapport
Pli du volet gauche
Jouer au jeu Chrome Dino
-Votre activité pourra rester visible par :
+Pourront encore voir votre activité :
Les sites Web que vous consultez
Votre employeur ou votre établissement scolaire
@@ -737,7 +737,7 @@
Importer le rapport
Règle introuvable.
Obtention des entrées en cours…
-La page est imprimée
+Page imprimée
Mettez à jour Chrome pour continuer à utiliser vos groupes d'onglets partagés
Saisie automatique avec Google
Escalade et alpinisme
@@ -878,11 +878,11 @@
Impossible d'enregistrer cette carte dans votre compte Google. Elle a été enregistrée dans Chrome sur cet appareil à la place.
Quadruple perforation à droite
Liste des modes de paiement à saisir de façon tactile. Clavier masqué.
-Chrome n'enregistrera pas ce qui suit :
+Chrome n'enregistrera pas :
Votre historique de navigation
Les cookies et les données des sites
- Les informations saisies dans formulaires
+ Les infos saisies dans les formulaires
Périphériques connectés à cet appareil pendant la session
Modes de paiement et autres infos provenant de Google Wallet
@@ -1667,7 +1667,7 @@
Examen requis avant la copie
Produits technologiques de remise en forme
Synchronisation en arrière-plan
-Renforcer la sécurité avec une carte virtuelle la prochaine fois ?
+Payer avec une carte virtuelle pour plus de sécurité la prochaine fois ?
est actuellement inaccessible. Le site Web a envoyé des identifiants brouillés inutilisables par Chromium. Les erreurs de réseau et les attaques étant généralement temporaires, cette page devrait à nouveau fonctionner ultérieurement.
Votre texte ainsi que le contenu et l'URL de la page sur laquelle vous écrivez seront envoyés à Google, examinés par des réviseurs et utilisés pour améliorer cette fonctionnalité. Évitez de saisir des informations personnelles (comme des données médicales ou financières) et d'utiliser cet outil sur des sites contenant des informations privées ou sensibles.
Métal (haute brillance)
@@ -2060,7 +2060,7 @@
Les alertes pour ce produit ont été désactivées
Plaque
Modifier le permis de conduire
-Un événement lié à la sécurité se produit
+Événement lié à la sécurité
Inactifs
Valeur attendue : .
Portes et fenêtres
@@ -2664,7 +2664,7 @@
Empileur 4
Examen requis avant le transfert
Déplacer quand même
-Les URL des pages que vous consultez sont envoyées à Google Cloud ou à des tiers pour analyse et peuvent être visibles par votre administrateur. Par exemple, elles peuvent être analysées à la recherche de sites dangereux ou les sites Web peuvent être filtrés en fonction des règles définies par l'administrateur.
+Les URL des pages que vous consultez sont envoyées à Google Cloud ou à des tiers pour analyse et peuvent être visibles par votre administrateur. Par exemple, elles peuvent être analysées pour détecter des sites Web dangereux ou filtrer des sites Web en fonction de règles définies par l'administrateur.
Il est possible que votre administrateur voie :
Rock
Suivre les prix
@@ -4375,7 +4375,7 @@
{0,plural, =1{Ouverture bloquée pour le fichier}one{Ouverture bloquée pour fichier}other{Ouverture bloquée pour fichiers}}
Justice et criminalité
Documents PDF
-Cartes de paiement
+Cartes de crédit
La feuille du gestionnaire de paiement est ouverte
Actualiser les journaux
Prêts commerciaux
diff -Nru chromium-141.0.7390.65/components/strings/components_strings_hi.xtb chromium-141.0.7390.107/components/strings/components_strings_hi.xtb
--- chromium-141.0.7390.65/components/strings/components_strings_hi.xtb 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/components/strings/components_strings_hi.xtb 2025-10-13 21:41:26.000000000 +0000
@@ -655,7 +655,7 @@
टेक्स्ट जोड़ें
ज़्यादा जानकारी के लिए, सेवा देने वाली कंपनी से संपर्क करें
आवाज़
-खोजें या यूआरएल टाइप करें
+ पर खोजें या यूआरएल टाइप करें
Google Chrome, Windows Hello को बंद करने की कोशिश कर रहा है, ताकि पासवर्ड डाला जा सके.
डोमेन का गलत-मिलान
वर्शन की जानकारी
diff -Nru chromium-141.0.7390.65/components/strings/components_strings_ja.xtb chromium-141.0.7390.107/components/strings/components_strings_ja.xtb
--- chromium-141.0.7390.65/components/strings/components_strings_ja.xtb 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/components/strings/components_strings_ja.xtb 2025-10-13 21:41:26.000000000 +0000
@@ -3881,7 +3881,7 @@
ハンド トラッキングを許可しますか?
ライトオレンジ
このサイトはブロックされています
-{COUNT,plural, =0{今日、Cookie を再びブロックします}=1{明日、Cookie を再びブロックします}other{Cookie を再びブロックするまであと # 日です}}
+{COUNT,plural, =0{今日から Cookie のブロックを再開します}=1{明日から Cookie のブロックを再開します}other{# 日後に Cookie のブロックを再開します}}
服飾サービス
(x mm)
[同期を管理] ボタンです。実行すると、Chrome の設定で同期する情報を管理できます
@@ -4397,7 +4397,7 @@
確認方法がわからない場合は、ネットワーク管理者までお問い合わせください。
音声
ソース
-Cookie と他のサイトデータは、ログインや広告のパーソナライズなどでユーザーを覚えておくために使用されます。すべてのサイトの Cookie を管理するには、 をご覧ください。
+Cookie と他のサイトデータは、ログインや広告のパーソナライズなどでユーザーを覚えておくために使用されます。すべてのサイトの Cookie を管理するには、をご覧ください。
ご利用の Wi-Fi()では、 へのアクセスが必要な可能性があります。
カードはデバイスのみに保存されました
コードの入力
diff -Nru chromium-141.0.7390.65/components/strings/components_strings_ko.xtb chromium-141.0.7390.107/components/strings/components_strings_ko.xtb
--- chromium-141.0.7390.65/components/strings/components_strings_ko.xtb 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/components/strings/components_strings_ko.xtb 2025-10-13 21:41:26.000000000 +0000
@@ -78,7 +78,7 @@
웹에 가격이 인하된 사이트가 있으면 알림이 전송됩니다.
용지 종류
아직 활성 주제가 없습니다.
-본인 인증을 해야 결제 정보를 입력할 수 있습니다.
+결제 정보를 입력하기 위해 본인 인증을 시도 중입니다.
선글라스
이 서버가 임을 입증할 수 없으며 컴퓨터의 운영체제에서 신뢰하는 보안 인증서가 아닙니다. 서버를 잘못 설정했거나 불법 사용자가 연결을 가로채고 있기 때문일 수 있습니다.
비밀번호를 입력해야 합니다.
@@ -4395,7 +4395,7 @@
잘 모르는 경우 네트워크 관리자에게 문의하시기 바랍니다.
소리
출처
-예를 들어 로그인하거나 광고를 맞춤설정하기 위해 사용자 정보를 저장하는 데 쿠키와 기타 사이트 데이터가 사용됩니다. 모든 사이트의 쿠키를 관리하려면 페이지를 확인하세요.
+예를 들어 로그인하거나 광고를 맞춤설정하기 위해 사용자를 기억하는 데 쿠키와 기타 사이트 데이터가 사용됩니다. 모든 사이트의 쿠키를 관리하려면 페이지를 확인하세요.
사용 중인 Wi-Fi()에서 방문을 요청할 수 있습니다.
카드가 기기에만 저장됨
코드 입력
diff -Nru chromium-141.0.7390.65/components/strings/components_strings_ms.xtb chromium-141.0.7390.107/components/strings/components_strings_ms.xtb
--- chromium-141.0.7390.65/components/strings/components_strings_ms.xtb 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/components/strings/components_strings_ms.xtb 2025-10-13 21:41:26.000000000 +0000
@@ -2980,7 +2980,7 @@
Edit Maklumat Hubungan
Buang daripada sejarah
Tiada hasil carian
-Mod AI
+AI Mode
Simpan dan Jejak Harga
|
Gulungan Keenam
diff -Nru chromium-141.0.7390.65/components/strings/components_strings_nl.xtb chromium-141.0.7390.107/components/strings/components_strings_nl.xtb
--- chromium-141.0.7390.65/components/strings/components_strings_nl.xtb 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/components/strings/components_strings_nl.xtb 2025-10-13 21:41:26.000000000 +0000
@@ -2291,7 +2291,7 @@
Naam op kaart
Instructies van de beheerder van je apparaat:
-Meer informatie over de bron en het onderwerp
+Informatie over bron en onderwerp
Google Pay-logo, Affirm-logo
Netwerkfout
IBAN verwijderen
diff -Nru chromium-141.0.7390.65/components/strings/components_strings_pl.xtb chromium-141.0.7390.107/components/strings/components_strings_pl.xtb
--- chromium-141.0.7390.65/components/strings/components_strings_pl.xtb 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/components/strings/components_strings_pl.xtb 2025-10-13 21:41:26.000000000 +0000
@@ -1667,7 +1667,7 @@
Wymagane jest sprawdzenie plików przed skopiowaniem
Akcesoria elektroniczne do uprawiania fitnessu
Synchronizacja w tle
-Czy następnym razem zwiększyć jej bezpieczeństwo za pomocą karty wirtualnej?
+Czy chcesz następnym razem użyć karty wirtualnej, aby zwiększyć bezpieczeństwo transakcji?
Nie możesz teraz odwiedzić strony , ponieważ wysłała ona zaszyfrowane dane logowania, których Chromium nie może przetworzyć. Błędy sieciowe i ataki są zazwyczaj tymczasowe, więc prawdopodobnie strona będzie dostępna później.
Twój tekst oraz zawartość i adres URL strony, na której piszesz, zostaną przesłane do Google, sprawdzone przez weryfikatorów i wykorzystane do ulepszenia tej funkcji. Unikaj podawania danych osobowych (takich jak dane medyczne lub finansowe) i nie korzystaj z tego narzędzia na stronach, które zawierają informacje prywatne lub poufne.
Metal (wysoki połysk)
diff -Nru chromium-141.0.7390.65/components/strings/components_strings_pt-BR.xtb chromium-141.0.7390.107/components/strings/components_strings_pt-BR.xtb
--- chromium-141.0.7390.65/components/strings/components_strings_pt-BR.xtb 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/components/strings/components_strings_pt-BR.xtb 2025-10-13 21:41:26.000000000 +0000
@@ -1667,7 +1667,7 @@
Revise antes de copiar os arquivos
Eletrônicos para atividade física
Sincronização em segundo plano
-Quer ter mais segurança com um cartão virtual?
+Que tal proteção extra para suas compras?
Você não pode visitar agora porque o website enviou credenciais embaralhadas que o Chromium não consegue processar. Erros de rede e ataques são geralmente temporários, de modo que esta página provavelmente funcionará mais tarde.
O texto, o conteúdo e o URL da página em que você está escrevendo serão enviados ao Google, revisados por humanos e usados para melhorar esse recurso. Evite inserir informações pessoais, como detalhes médicos ou financeiros. Evite também usar essa ferramenta em sites que contenham informações particulares ou sensíveis.
Metal (alto brilho)
@@ -2060,7 +2060,7 @@
Os alertas para este produto foram desativados
Chapa
Editar carteira de habilitação
-Acontece uma ocorrência de segurança
+Há uma ocorrência de segurança
Inativos
Valor esperado.
Portas e janelas
@@ -3082,7 +3082,7 @@
Culinária vegana
parte da frente do cartão
Baixar o anexo
-Conectores do Chrome Enterprise
+Chrome Enterprise Connectors
Envelope chinês 2
Item removido
local
@@ -4194,7 +4194,7 @@
EDP (Europa)
O atalho não pode ficar vazio
Botão "Gerenciar mecanismos de pesquisa". Ative para gerenciar a pesquisa no site e o mecanismo de pesquisa padrão
-Atualize a página para aplicar as configurações atualizadas ao site
+Recarregue esta página para aplicar as configurações atualizadas ao site.
Costura na parte superior
Perguntar diretamente
Dispositivos Móveis
@@ -4988,7 +4988,7 @@
Editar endereço
sensores de luz ou movimento
Calçados
-Este cartão oculta o físico e protege você contra fraudes.
+O cartão virtual oculta os dados do cartão físico e protege você contra fraudes.
Rosa
O software "" não foi instalado corretamente no computador ou na rede:
diff -Nru chromium-141.0.7390.65/components/strings/components_strings_sk.xtb chromium-141.0.7390.107/components/strings/components_strings_sk.xtb
--- chromium-141.0.7390.65/components/strings/components_strings_sk.xtb 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/components/strings/components_strings_sk.xtb 2025-10-13 21:41:26.000000000 +0000
@@ -2975,7 +2975,7 @@
Úprava kontaktných informácií
Odstrániť z histórie
Žiadne výsledky vyhľadávania
-Režim umelej inteligencie
+Režim AI
Uložiť a sledovať cenu
|
Šiesty kotúč
@@ -4807,7 +4807,7 @@
Zobraziť zmluvné podmienky
Veľká kapacita
Skontrolujte internetové pripojenie a skúste to znova
-Režim umelej inteligencie
+Režim AI
–
chce vyhľadať ľubovoľné zariadenie vo vašej miestnej sieti a pripojiť sa k nemu
Mikrofóny ()
diff -Nru chromium-141.0.7390.65/components/strings/components_strings_th.xtb chromium-141.0.7390.107/components/strings/components_strings_th.xtb
--- chromium-141.0.7390.65/components/strings/components_strings_th.xtb 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/components/strings/components_strings_th.xtb 2025-10-13 21:41:26.000000000 +0000
@@ -2206,7 +2206,7 @@
ป้อนข้อมูลอัตโนมัติในครั้งถัดไป บันทึกบัตรไว้ในอุปกรณ์ของคุณแล้ว
เกมกระดาน
,
-Virtual Reality
+เทคโนโลยีความจริงเสมือน (VR)
Envelope DL
พาสคีย์ • โปรไฟล์ Chrome ของคุณ
เซิร์ฟเวอร์นี้ไม่สามารถพิสูจน์ได้ว่าเป็น เพราะใบรับรองความปลอดภัยมีข้อผิดพลาด โดยอาจเกิดจากการกำหนดค่าผิดหรือผู้บุกรุกที่ขัดขวางการเชื่อมต่อของคุณ
@@ -2482,7 +2482,7 @@
A5
ถาด 18
รูปภาพ DSC
-Virtual Reality
+เทคโนโลยีความจริงเสมือน (VR)
ลบล้างเซสชันผู้เยี่ยมชมที่มีการจัดการและถูกจำกัด
(64 บิต)
ภาพยนตร์ครอบครัว
diff -Nru chromium-141.0.7390.65/components/strings/components_strings_vi.xtb chromium-141.0.7390.107/components/strings/components_strings_vi.xtb
--- chromium-141.0.7390.65/components/strings/components_strings_vi.xtb 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/components/strings/components_strings_vi.xtb 2025-10-13 21:41:26.000000000 +0000
@@ -4726,7 +4726,7 @@
In tệp bảo mật?
Đồ cổ và đồ sưu tầm
Tùy chỉnh giao diện trình duyệt của bạn
-Hãy thử tạm thời cho phép cookie của bên thứ ba. Chế độ cài đặt này sẽ làm giảm khả năng bảo vệ khi duyệt web nhưng sẽ tăng khả năng các tính năng của trang web hoạt động như dự kiến.
+Hãy thử tạm thời cho phép cookie của bên thứ ba. Chế độ cài đặt này sẽ làm giảm khả năng bảo vệ khi duyệt web nhưng các tính năng của trang có thể sẽ hoạt động đúng như mong đợi.
Nhập số thẻ hợp lệ
Câu cá
Không thể đặt "" thành ""
diff -Nru chromium-141.0.7390.65/components/strings/components_strings_zh-CN.xtb chromium-141.0.7390.107/components/strings/components_strings_zh-CN.xtb
--- chromium-141.0.7390.65/components/strings/components_strings_zh-CN.xtb 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/components/strings/components_strings_zh-CN.xtb 2025-10-13 21:41:26.000000000 +0000
@@ -567,7 +567,7 @@
自动进入画中画模式
可以询问能否向您发送通知
删除已保存的安全码
-您暂时允许了此网站使用第三方 Cookie,这意味着您选择采用较低级别的浏览保护措施,但网站功能更有可能会按预期运行。
+您已暂时允许此网站使用第三方 Cookie,这样浏览保护会降低,但网站功能更可能正常运行。
图书与文学
设计
您可能会无法再访问所属组织的账号,或被他人盗用身份信息。Chromium 建议您立即更改密码。
@@ -1282,7 +1282,7 @@
商业服务
仍然打开
尚无决定意见
-测试政策已被应用。如需查看和重置这些政策,请访问 chrome://policy/test。管理员政策不会被应用。
+已应用测试政策。如需查看政策或重新设置,请访问 chrome://policy/test。系统不会应用管理员政策。
无法对响应解码
廉价旅行与最后时限旅行
服务器临时错误
@@ -2667,7 +2667,7 @@
家居与室内装潢
想向您发送通知
移除书签
-颜色
+彩色
命令行变体
Chromium 不会保存:
@@ -3876,7 +3876,7 @@
允许手部跟踪?
浅橙色
此网站已被屏蔽
-{COUNT,plural, =0{Cookie 将于今天被再次屏蔽}=1{Cookie 将于明天被再次屏蔽}other{Cookie 将于 # 天后被再次屏蔽}}
+{COUNT,plural, =0{Cookie 将于今天再次屏蔽}=1{Cookie 将于明天再次屏蔽}other{Cookie 将于 # 天后再次屏蔽}}
衣着服务
( x 毫米)
“管理同步数据”按钮,激活它即可在 Chrome 设置中管理您要同步的信息
@@ -4189,7 +4189,7 @@
欧洲 EDP
快捷字词不得为空
“管理搜索引擎”按钮,激活它即可管理您的默认搜索引擎和网站搜索
-请重新加载此页面,以便在该网站上应用更新后的设置
+重新加载此页面,即可在该网站上应用更新后的设置
边缘装订(顶部)
当面请求
移动设备书签
@@ -4391,7 +4391,7 @@
如果您不确定这是什么意思,请与您的网络管理员联系。
声音
来源
-系统会使用 Cookie 和其他网站数据来记住您,以便实现某些功能或目的(例如帮您登录或向您展示个性化广告)。如需管理所有网站的 Cookie,请查看。
+网站会使用 Cookie 和其他数据来记住您,以便帮您登录或向您展示个性化广告等。如需管理所有网站的 Cookie,请前往。
您要使用的 Wi-Fi 网络()可能需要您访问 。
卡仅保存在设备上
输入验证码
@@ -4721,7 +4721,7 @@
打印机密文件?
古玩与收藏品
自定义您的浏览器外观
-尝试暂时允许使用第三方 Cookie,这意味着您将采用较低级别的浏览保护措施,但网站功能更有可能会按预期运行。
+尝试暂时允许使用第三方 Cookie,这样浏览保护会降低,但网站功能更可能正常运行。
请输入有效的卡号
钓鱼
“”不能设为“”
diff -Nru chromium-141.0.7390.65/components/strings/components_strings_zh-HK.xtb chromium-141.0.7390.107/components/strings/components_strings_zh-HK.xtb
--- chromium-141.0.7390.65/components/strings/components_strings_zh-HK.xtb 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/components/strings/components_strings_zh-HK.xtb 2025-10-13 21:41:26.000000000 +0000
@@ -2670,7 +2670,7 @@
家居和室內設計
要求傳送通知給您
移除書籤
-顏色
+彩色
指令列變化版本
Chromium 不會儲存以下資料:
diff -Nru chromium-141.0.7390.65/components/strings/components_strings_zh-TW.xtb chromium-141.0.7390.107/components/strings/components_strings_zh-TW.xtb
--- chromium-141.0.7390.65/components/strings/components_strings_zh-TW.xtb 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/components/strings/components_strings_zh-TW.xtb 2025-10-13 21:41:26.000000000 +0000
@@ -378,7 +378,7 @@
當畫面上出現機密內容,系統管理員政策就會停用螢幕畫面擷取功能
問問 Google 搜尋關於本頁的資訊
跨界車
-管理裝置端網站資料
+管理網站在裝置端的資料
已移除分頁
攝影機
商業金融
@@ -566,7 +566,7 @@
自動進入子母畫面
可以要求傳送通知
刪除已儲存的安全碼
-你已暫時允許這個網站使用第三方 Cookie。換言之,瀏覽防護的強度會降低,但網站功能正常運作的機率會提高。
+你已暫時允許這個網站使用第三方 Cookie。此時瀏覽防護程度較低,但會增加網站功能正常運作的機率。
圖書與文學
設計
你可能會失去貴機構帳戶的存取權,或身分遭到冒用。Chromium 建議你立即變更密碼。
@@ -1665,7 +1665,7 @@
複製檔案前請務必確認
健身科技產品
背景同步處理
-下次要使用更安全的虛擬卡片嗎?
+下次要使用虛擬卡片,強化安全保障嗎?
傳送的憑證受到干擾,造成 Chromium 無法處理,因此你目前無法造訪該網站。網路錯誤和攻擊通常是暫時性狀態,因此這個網頁可能稍後就會恢復正常運作。
你在頁面上的文字和該頁內容與網址都會傳送給 Google,並由人工進行審查,用來改善這項功能。因此,請勿輸入醫療或財務資料等個人資訊,也不要在含有私密資訊的網站上使用這項工具。
金屬 (高光面)
@@ -4192,7 +4192,7 @@
歐洲 EDP
搜尋捷徑不可留空
「管理搜尋引擎」按鈕,啟動後即可管理預設搜尋引擎和站內搜尋
-重新載入這個頁面,即可將更新後的設定套用到此網站
+重新載入這個頁面,將更新後的設定套用到此網站
邊緣裝訂 (右側)
當面詢問
行動版書籤
@@ -4723,7 +4723,7 @@
要列印機密檔案嗎?
古董與收藏品
自訂瀏覽器外觀
-請嘗試暫時允許使用第三方 Cookie,這代表網頁瀏覽保護程度較低,但網站功能較容易正常運作。
+請嘗試暫時允許使用第三方 Cookie。這個操作會降低瀏覽防護程度,但會增加網站功能正常運作的機率。
請輸入有效的信用卡號碼
釣魚
「」無法設為「」
diff -Nru chromium-141.0.7390.65/components/update_client/op_download.cc chromium-141.0.7390.107/components/update_client/op_download.cc
--- chromium-141.0.7390.65/components/update_client/op_download.cc 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/components/update_client/op_download.cc 2025-10-13 21:41:26.000000000 +0000
@@ -206,7 +206,14 @@
},
get_available_space),
base::BindOnce(&HandleAvailableSpace, config, id, cancellation,
- is_foreground, urls, size, hash, progress_callback,
+ is_foreground, urls, size, hash,
+ base::BindRepeating(
+ [](CrxDownloader::ProgressCallback progress_callback,
+ int64_t file_size, int64_t downloaded_bytes,
+ int64_t /*content_length*/) {
+ progress_callback.Run(downloaded_bytes, file_size);
+ },
+ progress_callback, size),
event_adder, std::move(callback)));
return base::BindOnce(&Cancellation::Cancel, cancellation);
}
diff -Nru chromium-141.0.7390.65/content/browser/browser_context.cc chromium-141.0.7390.107/content/browser/browser_context.cc
--- chromium-141.0.7390.65/content/browser/browser_context.cc 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/content/browser/browser_context.cc 2025-10-13 21:41:26.000000000 +0000
@@ -468,8 +468,8 @@
}
#if BUILDFLAG(IS_ANDROID)
-net::HttpRequestHeaders BrowserContext::GetExtraHeadersForUrl(const GURL& url) {
- return net::HttpRequestHeaders();
+std::string BrowserContext::GetExtraHeadersForUrl(const GURL& url) {
+ return std::string();
}
#endif // BUILDFLAG(IS_ANDROID)
diff -Nru chromium-141.0.7390.65/content/browser/preloading/prerender/prerender_host.cc chromium-141.0.7390.107/content/browser/preloading/prerender/prerender_host.cc
--- chromium-141.0.7390.65/content/browser/preloading/prerender/prerender_host.cc 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/content/browser/preloading/prerender/prerender_host.cc 2025-10-13 21:41:26.000000000 +0000
@@ -301,7 +301,7 @@
bool PrerenderHost::AreHttpRequestHeadersCompatible(
const std::string& potential_activation_headers_str,
#if BUILDFLAG(IS_ANDROID)
- const net::HttpRequestHeaders& potential_activation_additional_headers,
+ const std::string& potential_activation_additional_headers_str,
#endif // BUILDFLAG(IS_ANDROID)
const std::string& prerender_headers_str,
PreloadingTriggerType trigger_type,
@@ -315,9 +315,8 @@
potential_activation_headers.AddHeadersFromString(
potential_activation_headers_str);
#if BUILDFLAG(IS_ANDROID)
- potential_activation_headers.MergeFrom(
- potential_activation_additional_headers);
-
+ potential_activation_headers.AddHeadersFromString(
+ potential_activation_additional_headers_str);
#endif // BUILDFLAG(IS_ANDROID)
// `prerender_headers` contains the "Purpose: prefetch" and "Sec-Purpose:
@@ -1028,18 +1027,18 @@
}
#if BUILDFLAG(IS_ANDROID)
- net::HttpRequestHeaders activation_additional_headers;
+ std::string activation_additional_headers_str;
bool workaround_enabled = base::FeatureList::IsEnabled(
kPrerenderActivationMismatchWebViewWorkaround);
if (!workaround_enabled || !IsSpeculationRuleType(trigger_type())) {
- activation_additional_headers =
+ activation_additional_headers_str =
web_contents_->GetBrowserContext()->GetExtraHeadersForUrl(
potential_activation_url);
}
#endif // BUILDFLAG(IS_ANDROID)
if (!AreHttpRequestHeadersCompatible(potential_activation.headers,
#if BUILDFLAG(IS_ANDROID)
- activation_additional_headers,
+ activation_additional_headers_str,
#endif // BUILDFLAG(IS_ANDROID)
begin_params_->headers, trigger_type(),
GetHistogramSuffix(),
diff -Nru chromium-141.0.7390.65/content/browser/preloading/prerender/prerender_host.h chromium-141.0.7390.107/content/browser/preloading/prerender/prerender_host.h
--- chromium-141.0.7390.65/content/browser/preloading/prerender/prerender_host.h 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/content/browser/preloading/prerender/prerender_host.h 2025-10-13 21:41:26.000000000 +0000
@@ -186,7 +186,7 @@
static bool AreHttpRequestHeadersCompatible(
const std::string& potential_activation_headers_str,
#if BUILDFLAG(IS_ANDROID)
- const net::HttpRequestHeaders& potential_activation_additional_headers,
+ const std::string& potential_activation_additional_headers_str,
#endif // BUILDFLAG(IS_ANDROID)
const std::string& prerender_headers_str,
PreloadingTriggerType trigger_type,
diff -Nru chromium-141.0.7390.65/content/browser/preloading/prerender/prerender_host_unittest.cc chromium-141.0.7390.107/content/browser/preloading/prerender/prerender_host_unittest.cc
--- chromium-141.0.7390.65/content/browser/preloading/prerender/prerender_host_unittest.cc 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/content/browser/preloading/prerender/prerender_host_unittest.cc 2025-10-13 21:41:26.000000000 +0000
@@ -714,14 +714,10 @@
PrerenderFinalStatus::kActivationNavigationParameterMismatch);
const std::string prerender_headers = "rtt: 1 \r\n downlink: 3";
const std::string potential_activation_headers = "rtt: 2 \r\n downlink: 4";
-#if BUILDFLAG(IS_ANDROID)
- net::HttpRequestHeaders potential_activation_additional_headers;
-#endif
-
EXPECT_TRUE(PrerenderHost::AreHttpRequestHeadersCompatible(
potential_activation_headers,
#if BUILDFLAG(IS_ANDROID)
- potential_activation_additional_headers,
+ /*potential_activation_additional_headers=*/"",
#endif // BUILDFLAG(IS_ANDROID)
prerender_headers, PreloadingTriggerType::kSpeculationRule,
/*embedder_histogram_suffix=*/"", /*allow_x_header_mismatch=*/false,
@@ -733,14 +729,11 @@
PrerenderFinalStatus::kActivationNavigationParameterMismatch);
const std::string prerender_headers = "x-hello: 1";
const std::string potential_activation_headers = "X-world: 2";
-#if BUILDFLAG(IS_ANDROID)
- net::HttpRequestHeaders potential_activation_additional_headers;
-#endif
EXPECT_FALSE(PrerenderHost::AreHttpRequestHeadersCompatible(
potential_activation_headers,
#if BUILDFLAG(IS_ANDROID)
- potential_activation_additional_headers,
+ /*potential_activation_additional_headers=*/"",
#endif // BUILDFLAG(IS_ANDROID)
prerender_headers, PreloadingTriggerType::kSpeculationRule,
/*embedder_histogram_suffix=*/"", /*allow_x_header_mismatch=*/false,
@@ -749,7 +742,7 @@
EXPECT_TRUE(PrerenderHost::AreHttpRequestHeadersCompatible(
potential_activation_headers,
#if BUILDFLAG(IS_ANDROID)
- potential_activation_additional_headers,
+ /*potential_activation_additional_headers=*/"",
#endif // BUILDFLAG(IS_ANDROID)
prerender_headers, PreloadingTriggerType::kSpeculationRule,
/*embedder_histogram_suffix=*/"", /*allow_x_header_mismatch=*/true,
diff -Nru chromium-141.0.7390.65/content/browser/renderer_host/delegated_frame_host.cc chromium-141.0.7390.107/content/browser/renderer_host/delegated_frame_host.cc
--- chromium-141.0.7390.65/content/browser/renderer_host/delegated_frame_host.cc 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/content/browser/renderer_host/delegated_frame_host.cc 2025-10-13 21:41:26.000000000 +0000
@@ -352,11 +352,8 @@
client_->DelegatedFrameHostGetLayer()->SetShowSurface(
new_primary_surface_id, current_frame_size_in_dip_, GetGutterColor(),
deadline_policy, false /* stretch_content_to_fill_bounds */);
-#if BUILDFLAG(IS_CHROMEOS)
- if (compositor_) {
+ if (compositor_)
compositor_->OnChildResizing();
- }
-#endif // BUILDFLAG(IS_CHROMEOS)
}
}
@@ -369,13 +366,7 @@
void DelegatedFrameHost::OnFirstSurfaceActivation(
const viz::SurfaceInfo& surface_info) {
-#if BUILDFLAG(IS_CHROMEOS)
- if (compositor_) {
- compositor_->OnChildResizeActivated();
- }
-#else
NOTREACHED();
-#endif // BUILDFLAG(IS_CHROMEOS)
}
void DelegatedFrameHost::OnFrameTokenChanged(uint32_t frame_token,
@@ -719,13 +710,7 @@
owns_frame_sink_id_ = is_owner;
if (owns_frame_sink_id_) {
host_frame_sink_manager_->RegisterFrameSinkId(
- frame_sink_id_, this,
-#if BUILDFLAG(IS_CHROMEOS)
- viz::ReportFirstSurfaceActivation::kYes
-#else
- viz::ReportFirstSurfaceActivation::kNo
-#endif // BUILDFLAG(IS_CHROMEOS)
- );
+ frame_sink_id_, this, viz::ReportFirstSurfaceActivation::kNo);
host_frame_sink_manager_->SetFrameSinkDebugLabel(frame_sink_id_,
"DelegatedFrameHost");
}
diff -Nru chromium-141.0.7390.65/content/browser/renderer_host/dwrite_font_proxy_impl_win.cc chromium-141.0.7390.107/content/browser/renderer_host/dwrite_font_proxy_impl_win.cc
--- chromium-141.0.7390.65/content/browser/renderer_host/dwrite_font_proxy_impl_win.cc 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/content/browser/renderer_host/dwrite_font_proxy_impl_win.cc 2025-10-13 21:41:26.000000000 +0000
@@ -297,14 +297,17 @@
TRACE_EVENT0("dwrite,fonts", "FontProxyHost::OnGetFontFiles");
callback = mojo::WrapCallbackWithDefaultInvokeIfNotRun(
std::move(callback), std::vector());
- if (!collection_)
+ if (!collection_) {
return;
+ }
base::ScopedBlockingCall scoped_blocking_call(FROM_HERE,
base::BlockingType::MAY_BLOCK);
mswr::ComPtr family;
HRESULT hr = collection_->GetFontFamily(family_index, &family);
if (FAILED(hr)) {
+ base::UmaHistogramSparse(
+ "Chrome.DWriteFontProxy.GetFontFamilyFailedHResult", hr);
return;
}
@@ -318,6 +321,8 @@
mswr::ComPtr font;
hr = family->GetFont(font_index, &font);
if (FAILED(hr)) {
+ base::UmaHistogramSparse("Chrome.DWriteFontProxy.GetFontFailedHResult",
+ hr);
return;
}
diff -Nru chromium-141.0.7390.65/content/public/browser/browser_context.h chromium-141.0.7390.107/content/public/browser/browser_context.h
--- chromium-141.0.7390.65/content/public/browser/browser_context.h 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/content/public/browser/browser_context.h 2025-10-13 21:41:26.000000000 +0000
@@ -499,7 +499,7 @@
#if BUILDFLAG(IS_ANDROID)
// Returns extra request headers to be set when navigation happens for `url`.
// This function is designed for the headers provided by WebView.loadUrl().
- virtual net::HttpRequestHeaders GetExtraHeadersForUrl(const GURL& url);
+ virtual std::string GetExtraHeadersForUrl(const GURL& url);
#endif // BUILDFLAG(IS_ANDROID)
private:
diff -Nru chromium-141.0.7390.65/content/test/gpu/gpu_tests/pixel_test_pages.py chromium-141.0.7390.107/content/test/gpu/gpu_tests/pixel_test_pages.py
--- chromium-141.0.7390.65/content/test/gpu/gpu_tests/pixel_test_pages.py 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/content/test/gpu/gpu_tests/pixel_test_pages.py 2025-10-13 21:41:26.000000000 +0000
@@ -1842,7 +1842,7 @@
ca.FixedRectCropAction(0, 60, None, -20))
# Run the tests on CI for a while to see how stable they are with
# fuzzy matching enabled.
- grace_period_end = date(2025, 10, 1)
+ grace_period_end = date(2025, 12, 1)
return [
PixelTestPage('meet_effects/meet-gpu-tests/index.html?effectId=359',
f'{base_name}_MeetEffectsCatOnHead',
diff -Nru chromium-141.0.7390.65/debian/README.debian chromium-141.0.7390.107/debian/README.debian
--- chromium-141.0.7390.65/debian/README.debian 2024-04-03 19:56:38.000000000 +0000
+++ chromium-141.0.7390.107/debian/README.debian 2025-10-14 23:25:54.000000000 +0000
@@ -86,6 +86,10 @@
http://wiki.debian.org/Chromium/Debugging
+It's also helpful to run chromium with the '--disable-gpu' option, to
+determine whether the issue you're seeing is related to your graphics
+hardware.
+
Running as Root
===============
diff -Nru chromium-141.0.7390.65/debian/changelog chromium-141.0.7390.107/debian/changelog
--- chromium-141.0.7390.65/debian/changelog 2025-10-08 00:11:58.000000000 +0000
+++ chromium-141.0.7390.107/debian/changelog 2025-10-14 23:25:54.000000000 +0000
@@ -1,3 +1,11 @@
+chromium (141.0.7390.107-1~deb13u1) trixie-security; urgency=high
+
+ * New upstream security release.
+ - CVE-2025-11756: Use after free in Safe Browsing. Reported by asnine.
+ * Suggest --disable-gpu to bug reporters and in README.Debian.
+
+ -- Andres Salomon Tue, 14 Oct 2025 19:25:54 -0400
+
chromium (141.0.7390.65-1~deb13u1) trixie-security; urgency=high
* New upstream security release.
diff -Nru chromium-141.0.7390.65/debian/presubj chromium-141.0.7390.107/debian/presubj
--- chromium-141.0.7390.65/debian/presubj 2025-08-20 09:09:15.000000000 +0000
+++ chromium-141.0.7390.107/debian/presubj 2025-10-14 23:25:54.000000000 +0000
@@ -6,5 +6,8 @@
If you experience crashes, please read this wiki page to get a useful backtrace:
http://wiki.debian.org/Chromium/Debugging
+Please also try running chromium with the '--disable-gpu' option, so we can
+determine if the bug is specific to your graphics hardware.
+
It's very helpful to include the output from chrome://gpu in your report, as a
lot of bugs can be specific to desktop environments and hardware.
diff -Nru chromium-141.0.7390.65/gpu/config/gpu_lists_version.h chromium-141.0.7390.107/gpu/config/gpu_lists_version.h
--- chromium-141.0.7390.65/gpu/config/gpu_lists_version.h 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/gpu/config/gpu_lists_version.h 2025-10-13 21:41:26.000000000 +0000
@@ -3,6 +3,6 @@
#ifndef GPU_CONFIG_GPU_LISTS_VERSION_H_
#define GPU_CONFIG_GPU_LISTS_VERSION_H_
-#define GPU_LISTS_VERSION "b2ec783d2b51a396804a4e3e33f6586be09a4e2d"
+#define GPU_LISTS_VERSION "1c008349f76ff3a317bf28316fc5008c0120deb4"
#endif // GPU_CONFIG_GPU_LISTS_VERSION_H_
diff -Nru chromium-141.0.7390.65/net/data/ssl/chrome_root_store/root_store.md chromium-141.0.7390.107/net/data/ssl/chrome_root_store/root_store.md
--- chromium-141.0.7390.65/net/data/ssl/chrome_root_store/root_store.md 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/net/data/ssl/chrome_root_store/root_store.md 2025-10-13 21:41:26.000000000 +0000
@@ -1,7 +1,7 @@
# Chrome Root Store
-Version: 24
+Version: 25
[TOC]
diff -Nru chromium-141.0.7390.65/net/data/ssl/chrome_root_store/root_store.textproto chromium-141.0.7390.107/net/data/ssl/chrome_root_store/root_store.textproto
--- chromium-141.0.7390.65/net/data/ssl/chrome_root_store/root_store.textproto 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/net/data/ssl/chrome_root_store/root_store.textproto 2025-10-13 21:41:26.000000000 +0000
@@ -8,7 +8,7 @@
# Version # should always be incremented up whenever this (or any pem file that
# it references) is changed.
-version_major: 24
+version_major: 25
# CN=Actalis Authentication Root CA, O=Actalis S.p.A./03358520967, L=Milan, C=IT
# https://ssltest-a.actalis.it:8443
@@ -394,6 +394,7 @@
# CN=ISRG Root X1, O=Internet Security Research Group, C=US
trust_anchors {
sha256_hex: "96bcec06264976f37460779acf28c5a7cfe8a3c0aae11a8ffcee05c0bddf08c6"
+ trust_anchor_id: "\x82\xdf\x13\x02\x01" # 44947.2.1
}
# CN=Izenpe.com, O=IZENPE S.A., C=ES
@@ -664,6 +665,7 @@
# CN=ISRG Root X2, O=Internet Security Research Group, C=US
trust_anchors {
sha256_hex: "69729b8e15a86efc177a57afb7171dfc64add28c2fca8cf1507e34453ccb1470"
+ trust_anchor_id: "\x82\xdf\x13\x02\x06" # 44947.2.6
}
# CN=NAVER Global Root Certification Authority, O=NAVER BUSINESS PLATFORM Corp., C=KR
diff -Nru chromium-141.0.7390.65/net/http/http_response_info.cc chromium-141.0.7390.107/net/http/http_response_info.cc
--- chromium-141.0.7390.65/net/http/http_response_info.cc 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/net/http/http_response_info.cc 2025-10-13 21:41:26.000000000 +0000
@@ -138,8 +138,8 @@
// These values can be bit-wise combined to form the extra flags field of the
// serialized HttpResponseInfo.
enum {
- // This bit is set if the request usd a shared dictionary for decoding its
- // body.
+ // This bit was set if the request used a shared dictionary for decoding its
+ // body but is no longer persisted.
RESPONSE_EXTRA_INFO_DID_USE_SHARED_DICTIONARY = 1,
// This bit is set if the response has valid `proxy_chain`.
@@ -365,8 +365,10 @@
browser_run_id = std::make_optional(id);
}
- did_use_shared_dictionary =
- (extra_flags & RESPONSE_EXTRA_INFO_DID_USE_SHARED_DICTIONARY) != 0;
+ // Do NOT restore the did_use_shared_dictionary flag since
+ // dictionary-compressed responses are decoded before being stored in cache.
+ // It is no longer persisted but old cache entries may have it set.
+ did_use_shared_dictionary = false;
if (extra_flags & RESPONSE_EXTRA_INFO_HAS_PROXY_CHAIN) {
std::optional unpickled_proxy_chain =
@@ -434,10 +436,6 @@
if (browser_run_id.has_value())
flags |= RESPONSE_INFO_BROWSER_RUN_ID;
- if (did_use_shared_dictionary) {
- extra_flags |= RESPONSE_EXTRA_INFO_DID_USE_SHARED_DICTIONARY;
- }
-
if (proxy_chain.IsValid()) {
extra_flags |= RESPONSE_EXTRA_INFO_HAS_PROXY_CHAIN;
}
diff -Nru chromium-141.0.7390.65/net/http/http_response_info.h chromium-141.0.7390.107/net/http/http_response_info.h
--- chromium-141.0.7390.65/net/http/http_response_info.h 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/net/http/http_response_info.h 2025-10-13 21:41:26.000000000 +0000
@@ -204,6 +204,8 @@
std::optional browser_run_id;
// True if the response used a shared dictionary for decoding its body.
+ // This is always false for resources served from cache (where
+ // dictionary-compressed responses are stored uncompressed).
bool did_use_shared_dictionary = false;
};
diff -Nru chromium-141.0.7390.65/net/http/http_response_info_unittest.cc chromium-141.0.7390.107/net/http/http_response_info_unittest.cc
--- chromium-141.0.7390.65/net/http/http_response_info_unittest.cc 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/net/http/http_response_info_unittest.cc 2025-10-13 21:41:26.000000000 +0000
@@ -308,12 +308,12 @@
EXPECT_FALSE(restored_response_info.browser_run_id.has_value());
}
-// Test that did_use_shared_dictionary is preserved .
+// Test that did_use_shared_dictionary is NOT preserved .
TEST_F(HttpResponseInfoTest, DidUseSharedDictionary) {
response_info_.did_use_shared_dictionary = true;
HttpResponseInfo restored_response_info;
PickleAndRestore(response_info_, &restored_response_info);
- EXPECT_TRUE(restored_response_info.did_use_shared_dictionary);
+ EXPECT_FALSE(restored_response_info.did_use_shared_dictionary);
}
} // namespace
diff -Nru chromium-141.0.7390.65/net/http/transport_security_state_static.pins chromium-141.0.7390.107/net/http/transport_security_state_static.pins
--- chromium-141.0.7390.65/net/http/transport_security_state_static.pins 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/net/http/transport_security_state_static.pins 2025-10-13 21:41:26.000000000 +0000
@@ -43,9 +43,9 @@
# hash function for preloaded entries again (we have already done so once).
#
-# Last updated: 2025-09-09 12:53 UTC
+# Last updated: 2025-10-12 12:54 UTC
PinsListTimestamp
-1757422428
+1760273644
TestSPKI
sha256/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
@@ -439,78 +439,6 @@
bmF0774BxL4YSFlhgjICICadVGNA3jdgUM/I2O2dgq43mLyjj0xMqTQrbO/7lZsm
-----END CERTIFICATE-----
-DigiCertEVRoot
------BEGIN CERTIFICATE-----
-MIIDxTCCAq2gAwIBAgIQAqxcJmoLQJuPC3nyrkYldzANBgkqhkiG9w0BAQUFADBs
-MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
-d3cuZGlnaWNlcnQuY29tMSswKQYDVQQDEyJEaWdpQ2VydCBIaWdoIEFzc3VyYW5j
-ZSBFViBSb290IENBMB4XDTA2MTExMDAwMDAwMFoXDTMxMTExMDAwMDAwMFowbDEL
-MAkGA1UEBhMCVVMxFTATBgNVBAoTDERpZ2lDZXJ0IEluYzEZMBcGA1UECxMQd3d3
-LmRpZ2ljZXJ0LmNvbTErMCkGA1UEAxMiRGlnaUNlcnQgSGlnaCBBc3N1cmFuY2Ug
-RVYgUm9vdCBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMbM5XPm
-+9S75S0tMqbf5YE/yc0lSbZxKsPVlDRnogocsF9ppkCxxLeyj9CYpKlBWTrT3JTW
-PNt0OKRKzE0lgvdKpVMSOO7zSW1xkX5jtqumX8OkhPhPYlG++MXs2ziS4wblCJEM
-xChBVfvLWokVfnHoNb9Ncgk9vjo4UFt3MRuNs8ckRZqnrG0AFFoEt7oT61EKmEFB
-Ik5lYYeBQVCmeVyJ3hlKV9Uu5l0cUyx+mM0aBhakaHPQNAQTXKFx01p8VdteZOE3
-hzBWBOURtCmAEvF5OYiiAhF8J2a3iLd48soKqDirCmTCv2ZdlYTBoSUeh10aUAsg
-EsxBu24LUTi4S8sCAwEAAaNjMGEwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQF
-MAMBAf8wHQYDVR0OBBYEFLE+w2kD+L9HAdSYJhoIAu9jZCvDMB8GA1UdIwQYMBaA
-FLE+w2kD+L9HAdSYJhoIAu9jZCvDMA0GCSqGSIb3DQEBBQUAA4IBAQAcGgaX3Nec
-nzyIZgYIVyHbIUf4KmeqvxgydkAQV8GK83rZEWWONfqe/EW1ntlMMUu4kehDLI6z
-eM7b41N5cdblIZQB2lWHmiRk9opmzN6cN82oNLFpmyPInngiK3BD41VHMWEZ71jF
-hS9OMPagMRYjyOfiZRYzy78aG6A9+MpeizGLYAiJLQwGXFK3xPkKmNEVX58Svnw2
-Yzi9RKR/5CYrCsSXaQ3pjOLAEFe4yHYSkVXySGnYvCoCWw9E1CAx2/S6cCZdkGCe
-vEsXCS+0yx5DaMkHJ8HSXPfqIbloEpw8nL+e/IBcm2PN7EeqJSdnoDfzAIJ9VNep
-+OkuE6N36B9K
------END CERTIFICATE-----
-
-DigiCertGlobalRoot
------BEGIN CERTIFICATE-----
-MIIDrzCCApegAwIBAgIQCDvgVpBCRrGhdWrJWZHHSjANBgkqhkiG9w0BAQUFADBh
-MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
-d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBD
-QTAeFw0wNjExMTAwMDAwMDBaFw0zMTExMTAwMDAwMDBaMGExCzAJBgNVBAYTAlVT
-MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j
-b20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IENBMIIBIjANBgkqhkiG
-9w0BAQEFAAOCAQ8AMIIBCgKCAQEA4jvhEXLeqKTTo1eqUKKPC3eQyaKl7hLOllsB
-CSDMAZOnTjC3U/dDxGkAV53ijSLdhwZAAIEJzs4bg7/fzTtxRuLWZscFs3YnFo97
-nh6Vfe63SKMI2tavegw5BmV/Sl0fvBf4q77uKNd0f3p4mVmFaG5cIzJLv07A6Fpt
-43C/dxC//AH2hdmoRBBYMql1GNXRor5H4idq9Joz+EkIYIvUX7Q6hL+hqkpMfT7P
-T19sdl6gSzeRntwi5m3OFBqOasv+zbMUZBfHWymeMr/y7vrTC0LUq7dBMtoM1O/4
-gdW7jVg/tRvoSSiicNoxBN33shbyTApOB6jtSj1etX+jkMOvJwIDAQABo2MwYTAO
-BgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUA95QNVbR
-TLtm8KPiGxvDl7I90VUwHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUw
-DQYJKoZIhvcNAQEFBQADggEBAMucN6pIExIK+t1EnE9SsPTfrgT1eXkIoyQY/Esr
-hMAtudXH/vTBH1jLuG2cenTnmCmrEbXjcKChzUyImZOMkXDiqw8cvpOp/2PV5Adg
-06O/nVsJ8dWO41P0jmP6P6fbtGbfYmbW0W5BjfIttep3Sp+dWOIrWcBAI+0tKIJF
-PnlUkiaY4IBIqDfv8NZ5YBberOgOzW6sRBc4L0na4UU+Krk2U886UAb3LujEV0ls
-YSEY1QSteDwsOoBrp+uvFRTp2InBuThs4pFsiv9kuXclVzDAGySj4dzp30d8tbQk
-CAUw7C29C79Fv1C5qfPrmAESrciIxpg0X40KPMbp1ZWVbd4=
------END CERTIFICATE-----
-
-GlobalSignRootCA
------BEGIN CERTIFICATE-----
-MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkG
-A1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jv
-b3QgQ0ExGzAZBgNVBAMTEkdsb2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAw
-MDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9i
-YWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYDVQQDExJHbG9iYWxT
-aWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDaDuaZ
-jc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavp
-xy0Sy6scTHAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp
-1Wrjsok6Vjk4bwY8iGlbKk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdG
-snUOhugZitVtbNV4FpWi6cgKOOvyJBNPc1STE4U6G7weNLWLBYy5d4ux2x8gkasJ
-U26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrXgzT/LCrBbBlDSgeF59N8
-9iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8E
-BTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0B
-AQUFAAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOz
-yj1hTdNGCbM+w6DjY1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE
-38NflNUVyRRBnMRddWQVDf9VMOyGj/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymP
-AbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhHhm4qxFYxldBniYUr+WymXUad
-DKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveCX4XSQRjbgbME
-HMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A==
------END CERTIFICATE-----
-
GlobalSignExtendedValidationCA
-----BEGIN CERTIFICATE-----
MIIEmDCCA4CgAwIBAgILBAAAAAABIg08FMUwDQYJKoZIhvcNAQEFBQAwTDEgMB4G
@@ -597,458 +525,3 @@
iyRRrl3tovG7UxBNl/oadwM=
-----END CERTIFICATE-----
-GlobalSignRootCA_R3
------BEGIN CERTIFICATE-----
-MIIDXzCCAkegAwIBAgILBAAAAAABIVhTCKIwDQYJKoZIhvcNAQELBQAwTDEgMB4G
-A1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjMxEzARBgNVBAoTCkdsb2JhbFNp
-Z24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMDkwMzE4MTAwMDAwWhcNMjkwMzE4
-MTAwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSMzETMBEG
-A1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjCCASIwDQYJKoZI
-hvcNAQEBBQADggEPADCCAQoCggEBAMwldpB5BngiFvXAg7aEyiie/QV2EcWtiHL8
-RgJDx7KKnQRfJMsuS+FggkbhUqsMgUdwbN1k0ev1LKMPgj0MK66X17YUhhB5uzsT
-gHeMCOFJ0mpiLx9e+pZo34knlTifBtc+ycsmWQ1z3rDI6SYOgxXG71uL0gRgykmm
-KPZpO/bLyCiR5Z2KYVc3rHQU3HTgOu5yLy6c+9C7v/U9AOEGM+iCK65TpjoWc4zd
-QQ4gOsC0p6Hpsk+QLjJg6VfLuQSSaGjlOCZgdbKfd/+RFO+uIEn8rUAVSNECMWEZ
-XriX7613t2Saer9fwRPvm2L7DWzgVGkWqQPabumDk3F2xmmFghcCAwEAAaNCMEAw
-DgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFI/wS3+o
-LkUkrk1Q+mOai97i3Ru8MA0GCSqGSIb3DQEBCwUAA4IBAQBLQNvAUKr+yAzv95ZU
-RUm7lgAJQayzE4aGKAczymvmdLm6AC2upArT9fHxD4q/c2dKg8dEe3jgr25sbwMp
-jjM5RcOO5LlXbKr8EpbsU8Yt5CRsuZRj+9xTaGdWPoO4zzUhw8lo/s7awlOqzJCK
-6fBdRoyV3XpYKBovHd7NADdBj+1EbddTKJd+82cEHhXXipa0095MJ6RMG3NzdvQX
-mcIfeg7jLQitChws/zyrVQ4PkX4268NXSb7hLi18YIvDQVETI53O9zJrlAGomecs
-Mx86OyXShkDOOyyGeMlhLxS67ttVb9+E7gUJTb0o2HLO02JQZR7rkpeDMdmztcpH
-WD9f
------END CERTIFICATE-----
-
-GlobalSignRootCA_R6
------BEGIN CERTIFICATE-----
-MIIFgzCCA2ugAwIBAgIORea7A4Mzw4VlSOb/RVEwDQYJKoZIhvcNAQEMBQAwTDE
-gMB4GA1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjYxEzARBgNVBAoTCkdsb2
-JhbFNpZ24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMTQxMjEwMDAwMDAwWhcNM
-zQxMjEwMDAwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBS
-NjETMBEGA1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjCCAiI
-wDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAJUH6HPKZvnsFMp7PPcNCPG0RQ
-ssgrRIxutbPK6DuEGSMxSkb3/pKszGsIhrxbaJ0cay/xTOURQh7ErdG1rG1ofuT
-ToVBu1kZguSgMpE3nOUTvOniX9PeGMIyBJQbUJmL025eShNUhqKGoC3GYEOfsSK
-vGRMIRxDaNc9PIrFsmbVkJq3MQbFvuJtMgamHvm566qjuL++gmNQ0PAYid/kD3n
-16qIfKtJwLnvnvJO7bVPiSHyMEAc4/2ayd2F+4OqMPKq0pPbzlUoSB239jLKJz9
-CgYXfIWHSw1CM69106yqLbnQneXUQtkPGBzVeS+n68UARjNN9rkxi+azayOeSsJ
-Da38O+2HBNXk7besvjihbdzorg1qkXy4J02oW9UivFyVm4uiMVRQkQVlO6jxTiW
-m05OWgtH8wY2SXcwvHE35absIQh1/OZhFj931dmRl4QKbNQCTXTAFO39OfuD8l4
-UoQSwC+n+7o/hbguyCLNhZglqsQY6ZZZZwPA1/cnaKI0aEYdwgQqomnUdnjqGBQ
-Ce24DWJfncBZ4nWUx2OVvq+aWh2IMP0f/fMBH5hc8zSPXKbWQULHpYT9NLCEnFl
-WQaYw55PfWzjMpYrZxCRXluDocZXFSxZba/jJvcE+kNb7gu3GduyYsRtYQUigAZ
-cIN5kZeR1BonvzceMgfYFGM8KEyvAgMBAAGjYzBhMA4GA1UdDwEB/wQEAwIBBjA
-PBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBSubAWjkxPioufi1xzWx/B/yGdToD
-AfBgNVHSMEGDAWgBSubAWjkxPioufi1xzWx/B/yGdToDANBgkqhkiG9w0BAQwFA
-AOCAgEAgyXt6NH9lVLNnsAEoJFp5lzQhN7craJP6Ed41mWYqVuoPId8AorRbrcW
-c+ZfwFSY1XS+wc3iEZGtIxg93eFyRJa0lV7Ae46ZeBZDE1ZXs6KzO7V33EByrKP
-rmzU+sQghoefEQzd5Mr6155wsTLxDKZmOMNOsIeDjHfrYBzN2VAAiKrlNIC5waN
-rlU/yDXNOd8v9EDERm8tLjvUYAGm0CuiVdjaExUd1URhxN25mW7xocBFymFe944
-Hn+Xds+qkxV/ZoVqW/hpvvfcDDpw+5CRu3CkwWJ+n1jez/QcYF8AOiYrg54NMMl
-+68KnyBr3TsTjxKM4kEaSHpzoHdpx7Zcf4LIHv5YGygrqGytXm3ABdJ7t+uA/iU
-3/gKbaKxCXcPu9czc8FB10jZpnOZ7BN9uBmm23goJSFmH63sUYHpkqmlD75HHTO
-wY3WzvUy2MmeFe8nI+z1TIvWfspA9MRf/TuTAjB0yPEL+GltmZWrSZVxykzLsVi
-VO6LAUP5MSeGbEYNNVMnbrt9x+vJJUEeKgDu+6B5dpffItKoZB0JaezPkvILFa9
-x8jvOOJckvB595yEunQtYQEgfn7R8k8HWV+LLUNS60YMlOH1Zkd5d9VUWx+tJDf
-LRVpOoERIyNiwmcUVhAn21klJwGW45hpxbqCo8YLoRT5s1gLXCmeDBVrJpBA=
------END CERTIFICATE-----
-
-
-GlobalSignRootR46
------BEGIN CERTIFICATE-----
-MIIFWjCCA0KgAwIBAgISEdK7udcjGJ5AXwqdLdDfJWfRMA0GCSqGSIb3DQEBDAU
-AMEYxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRwwGg
-YDVQQDExNHbG9iYWxTaWduIFJvb3QgUjQ2MB4XDTE5MDMyMDAwMDAwMFoXDTQ2M
-DMyMDAwMDAwMFowRjELMAkGA1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24g
-bnYtc2ExHDAaBgNVBAMTE0dsb2JhbFNpZ24gUm9vdCBSNDYwggIiMA0GCSqGSIb
-3DQEBAQUAA4ICDwAwggIKAoICAQCsrHQy6LNl5brtQyYdpokNRbopiLKkHWPd08
-EsCVeJOaFV6Wc0dwxu5FUdUiXSE2te4R2pt32JMl8Nnp8semNgQB+msLZ4j5lUl
-ghYruQGvGIFAha/r6gjA7aUD7xubMLL1aa7DOn2wQL7Id5m3RerdELv8HQvJfTq
-a1VbkNud316HCkD7rRlr+/fKYIje2sGP1q7Vf9Q8g+7XFkyDRTNrJ9CG0Bwta/O
-rffGFqfUo0q3v84RLHIf8E6M6cqJaESvWJ3En7YEtbWaBkoe0G1h6zD8K+kZPT
-Xhc+CtI4wSEy132tGqzZfxCnlEmIyDLPRT5ge1lFgBPGmSXZgjPjHvjK8Cd+RTy
-G/FWaha/LIWFzXg4mutCagI0GIMXTpRW+LaCtfOW3T3zvn8gdz57GSNrLNRyc0N
-XfeD412lPFzYE+cCQYDdF3uYM2HSNrpyibXRdQr4G9dlkbgIQrImwTDsHTUB+JM
-WKmIJ5jqSngiCNI/onccnfxkF0oE32kRbcRoxfKWMxWXEM2G/CtjJ9++ZdU6Z+F
-fy7dXxd7Pj2Fxzsx2sZy/N78CsHpdlseVR2bJ0cpm4O6XkMqCNqo98bMDGfsVR7
-/mrLZqrcZdCinkqaByFrgY/bxFn63iLABJzjqls2k+g9vXqhnQt2sQvHnf3PmKg
-Gwvgqo6GDoLclcqUC4wIDAQABo0IwQDAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQ
-H/BAUwAwEB/zAdBgNVHQ4EFgQUA1yrc4GHqMywptWU4jaWSf8FmSwwDQYJKoZIh
-vcNAQEMBQADggIBAHx47PYCLLtbfpIrXTncvtgdokIzTfnvpCo7RGkerNlFo048
-p9gkUbJUHJNOxO97k4VgJuoJSOD1u8fpaNK7ajFxzHmuEajwmf3lH7wvqMxX63b
-EIaZHU1VNaL8FpO7XJqti2kM3S+LGteWygxk6x9PbTZ4IevPuzz5i+6zoYMzRx6
-Fcg0XERczzF2sUyQQCPtIkpnnpHs6i58FZFZ8d4kuaPp92CC1r2LpXFNqD6v6MV
-enQTqnMdzGxRBF6XLE+0xRFFRhiJBPSy03OXIPBNvIQtQ6IbbjhVp+J3pZmOUdk
-LG5NrmJ7v2B0GbhWrJKsFjLtrWhV/pi60zTe9Mlhww6G9kuEYO4Ne7UyWHmRVSy
-BQ7N0H3qqJZ4d16GLuc1CLgSkZoNNiTW2bKg2SnkheCLQQrzRQDGQob4Ez8pn7f
-XwgNNgyYMqIgXQBztSvwyeqiv5u+YfjyW6hY0XHgL+XVAEV8/+LbzvXMAaq7afJ
-Mbfc2hIkCwU9D9SGuTSyxTDYWnP4vkYxboznxSjBF25cfe1lNj2M8FawTSLfJvd
-kzrnE6JwYZ+vj+vYxXX4M2bUdGc6N3ec592kD3ZDZopD8p/7DEJ4Y9HiD2971KE
-9dJeFt0g5QdYg/NA6s/rob8SKunE3vouXsXgxT7PntgMTzlSdriVZzH81Xwj3QE
-UxeCp6
------END CERTIFICATE-----
-
-
-SymantecClass3EVG3
------BEGIN CERTIFICATE-----
-MIIFKzCCBBOgAwIBAgIQfuFKb2/v8tN/P61lTTratDANBgkqhkiG9w0BAQsFADCB
-yjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMR8wHQYDVQQL
-ExZWZXJpU2lnbiBUcnVzdCBOZXR3b3JrMTowOAYDVQQLEzEoYykgMjAwNiBWZXJp
-U2lnbiwgSW5jLiAtIEZvciBhdXRob3JpemVkIHVzZSBvbmx5MUUwQwYDVQQDEzxW
-ZXJpU2lnbiBDbGFzcyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0
-aG9yaXR5IC0gRzUwHhcNMTMxMDMxMDAwMDAwWhcNMjMxMDMwMjM1OTU5WjB3MQsw
-CQYDVQQGEwJVUzEdMBsGA1UEChMUU3ltYW50ZWMgQ29ycG9yYXRpb24xHzAdBgNV
-BAsTFlN5bWFudGVjIFRydXN0IE5ldHdvcmsxKDAmBgNVBAMTH1N5bWFudGVjIENs
-YXNzIDMgRVYgU1NMIENBIC0gRzMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
-AoIBAQDYoWV0I+grZOIy1zM3PY71NBZI3U9/hxz4RCMTjvsR2ERaGHGOYBYmkpv9
-FwvhcXBC/r/6HMCqo6e1cej/GIP23xAKE2LIPZyn3i4/DNkd5y77Ks7Imn+Hv9hM
-BBUyydHMlXGgTihPhNk1++OGb5RT5nKKY2cuvmn2926OnGAE6yn6xEdC0niY4+wL
-pZLct5q9gGQrOHw4CVtm9i2VeoayNC6FnpAOX7ddpFFyRnATv2fytqdNFB5suVPu
-IxpOjUhVQ0GxiXVqQCjFfd3SbtICGS97JJRL6/EaqZvjI5rq+jOrCiy39GAI3Z8c
-zd0tAWaAr7MvKR0juIrhoXAHDDQPAgMBAAGjggFdMIIBWTAvBggrBgEFBQcBAQQj
-MCEwHwYIKwYBBQUHMAGGE2h0dHA6Ly9zMi5zeW1jYi5jb20wEgYDVR0TAQH/BAgw
-BgEB/wIBADBlBgNVHSAEXjBcMFoGBFUdIAAwUjAmBggrBgEFBQcCARYaaHR0cDov
-L3d3dy5zeW1hdXRoLmNvbS9jcHMwKAYIKwYBBQUHAgIwHBoaaHR0cDovL3d3dy5z
-eW1hdXRoLmNvbS9ycGEwMAYDVR0fBCkwJzAloCOgIYYfaHR0cDovL3MxLnN5bWNi
-LmNvbS9wY2EzLWc1LmNybDAOBgNVHQ8BAf8EBAMCAQYwKQYDVR0RBCIwIKQeMBwx
-GjAYBgNVBAMTEVN5bWFudGVjUEtJLTEtNTMzMB0GA1UdDgQWBBQBWavn3ToLWaZk
-Y9bPIAdX1ZHnajAfBgNVHSMEGDAWgBR/02Wnwt3su/AwCfNDOfoCrzMxMzANBgkq
-hkiG9w0BAQsFAAOCAQEAQgFVe9AWGl1Y6LubqE3X89frE5SG1n8hC0e8V5uSXU8F
-nzikEHzPg74GQ0aNCLxq1xCm+quvL2GoY/Jl339MiBKIT7Np2f8nwAqXkY9W+4nE
-qLuSLRtzsMarNvSWbCAI7woeZiRFT2cAQMgHVHQzO6atuyOfZu2iRHA0+w7qAf3P
-eHTfp61Vt19N9tY/4IbOJMdCqRMURDVLtt/JYKwMf9mTIUvunORJApjTYHtcvNUw
-LwfORELEC5n+5p/8sHiGUW3RLJ3GlvuFgrsEL/digO9i2n/2DqyQuFa9eT/ygG6j
-2bkPXToHHZGThkspTOHcteHgM52zyzaRS/6htO7w+Q==
------END CERTIFICATE-----
-
-DigiCertECCSecureServerCA
------BEGIN CERTIFICATE-----
-MIIDrDCCApSgAwIBAgIQCssoukZe5TkIdnRw883GEjANBgkqhkiG9w0BAQwFADBh
-MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
-d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBD
-QTAeFw0xMzAzMDgxMjAwMDBaFw0yMzAzMDgxMjAwMDBaMEwxCzAJBgNVBAYTAlVT
-MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxJjAkBgNVBAMTHURpZ2lDZXJ0IEVDQyBT
-ZWN1cmUgU2VydmVyIENBMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAE4ghC6nfYJN6g
-LGSkE85AnCNyqQIKDjc/ITa4jVMU9tWRlUvzlgKNcR7E2Munn17voOZ/WpIRllNv
-68DLP679Wz9HJOeaBy6Wvqgvu1cYr3GkvXg6HuhbPGtkESvMNCuMo4IBITCCAR0w
-EgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwNAYIKwYBBQUHAQEE
-KDAmMCQGCCsGAQUFBzABhhhodHRwOi8vb2NzcC5kaWdpY2VydC5jb20wQgYDVR0f
-BDswOTA3oDWgM4YxaHR0cDovL2NybDMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0R2xv
-YmFsUm9vdENBLmNybDA9BgNVHSAENjA0MDIGBFUdIAAwKjAoBggrBgEFBQcCARYc
-aHR0cHM6Ly93d3cuZGlnaWNlcnQuY29tL0NQUzAdBgNVHQ4EFgQUo53mH/naOU/A
-buiRy5Wl2jHiCp8wHwYDVR0jBBgwFoAUA95QNVbRTLtm8KPiGxvDl7I90VUwDQYJ
-KoZIhvcNAQEMBQADggEBAMeKoENL7HTJxavVHzA1Nm6YVntIrAVjrnuaVyRXzG/6
-3qttnMe2uuzO58pzZNvfBDcKAEmzP58mrZGMIOgfiA4q+2Y3yDDo0sIkp0VILeoB
-UEoxlBPfjV/aKrtJPGHzecicZpIalir0ezZYoyxBEHQa0+1IttK7igZFcTMQMHp6
-mCHdJLnsnLWSB62DxsRq+HfmNb4TDydkskO/g+l3VtsIh5RHFPVfKK+jaEyDj2D3
-loB5hWp2Jp2VDCADjT7ueihlZGak2YPqmXTNbk19HOuNssWvFhtOyPNV6og4ETQd
-Ea8/B6hPatJ0ES8q/HO3X8IVQwVs1n3aAr0im0/T+Xc=
------END CERTIFICATE-----
-
-FacebookBackup
------BEGIN PUBLIC KEY-----
-MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAtHIqUt4FvcdEZQZqucdY
-UEWSMuSIZnRgs0vvyLqb0KmIz8n8WLwifrMzTnrk9ol8EMcuoe4kkntJ3kn4pRIm
-2Sdw33nibWBzXJu3zuorFGFZ9fsZLfh1zHIrNAKbjQmjHnD+XJLfPyoRI/3eOcl4
-ArQwdqg5ymAmffy8Zapgrf3tSa6OsOxZF7+dLVfr+zzh2tawfH+kzzS3e0eXyO1x
-aSSpcSsFjuB1/cBJDeS/0a1/eLK8KeCWZcb7ev7ge0WnRvkfo+0KxdzSFxTrfjg0
-uy8blcsjtFoq5lG5Ba1982Qzkmot+08ZZQi/QxZ+QARS16YL3KQgJRCb7y+UXmGa
-PQIDAQAB
------END PUBLIC KEY-----
-
-ISRGRootX1
------BEGIN CERTIFICATE-----
-MIIFazCCA1OgAwIBAgIRAIIQz7DSQONZRGPgu2OCiwAwDQYJKoZIhvcNAQELBQAw
-TzELMAkGA1UEBhMCVVMxKTAnBgNVBAoTIEludGVybmV0IFNlY3VyaXR5IFJlc2Vh
-cmNoIEdyb3VwMRUwEwYDVQQDEwxJU1JHIFJvb3QgWDEwHhcNMTUwNjA0MTEwNDM4
-WhcNMzUwNjA0MTEwNDM4WjBPMQswCQYDVQQGEwJVUzEpMCcGA1UEChMgSW50ZXJu
-ZXQgU2VjdXJpdHkgUmVzZWFyY2ggR3JvdXAxFTATBgNVBAMTDElTUkcgUm9vdCBY
-MTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAK3oJHP0FDfzm54rVygc
-h77ct984kIxuPOZXoHj3dcKi/vVqbvYATyjb3miGbESTtrFj/RQSa78f0uoxmyF+
-0TM8ukj13Xnfs7j/EvEhmkvBioZxaUpmZmyPfjxwv60pIgbz5MDmgK7iS4+3mX6U
-A5/TR5d8mUgjU+g4rk8Kb4Mu0UlXjIB0ttov0DiNewNwIRt18jA8+o+u3dpjq+sW
-T8KOEUt+zwvo/7V3LvSye0rgTBIlDHCNAymg4VMk7BPZ7hm/ELNKjD+Jo2FR3qyH
-B5T0Y3HsLuJvW5iB4YlcNHlsdu87kGJ55tukmi8mxdAQ4Q7e2RCOFvu396j3x+UC
-B5iPNgiV5+I3lg02dZ77DnKxHZu8A/lJBdiB3QW0KtZB6awBdpUKD9jf1b0SHzUv
-KBds0pjBqAlkd25HN7rOrFleaJ1/ctaJxQZBKT5ZPt0m9STJEadao0xAH0ahmbWn
-OlFuhjuefXKnEgV4We0+UXgVCwOPjdAvBbI+e0ocS3MFEvzG6uBQE3xDk3SzynTn
-jh8BCNAw1FtxNrQHusEwMFxIt4I7mKZ9YIqioymCzLq9gwQbooMDQaHWBfEbwrbw
-qHyGO0aoSCqI3Haadr8faqU9GY/rOPNk3sgrDQoo//fb4hVC1CLQJ13hef4Y53CI
-rU7m2Ys6xt0nUW7/vGT1M0NPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV
-HRMBAf8EBTADAQH/MB0GA1UdDgQWBBR5tFnme7bl5AFzgAiIyBpY9umbbjANBgkq
-hkiG9w0BAQsFAAOCAgEAVR9YqbyyqFDQDLHYGmkgJykIrGF1XIpu+ILlaS/V9lZL
-ubhzEFnTIZd+50xx+7LSYK05qAvqFyFWhfFQDlnrzuBZ6brJFe+GnY+EgPbk6ZGQ
-3BebYhtF8GaV0nxvwuo77x/Py9auJ/GpsMiu/X1+mvoiBOv/2X/qkSsisRcOj/KK
-NFtY2PwByVS5uCbMiogziUwthDyC3+6WVwW6LLv3xLfHTjuCvjHIInNzktHCgKQ5
-ORAzI4JMPJ+GslWYHb4phowim57iaztXOoJwTdwJx4nLCgdNbOhdjsnvzqvHu7Ur
-TkXWStAmzOVyyghqpZXjFaH3pO3JLF+l+/+sKAIuvtd7u+Nxe5AW0wdeRlN8NwdC
-jNPElpzVmbUq4JUagEiuTDkHzsxHpFKVK7q4+63SM1N95R1NbdWhscdCb+ZAJzVc
-oyi3B43njTOQ5yOf+1CceWxG1bQVs5ZufpsMljq4Ui0/1lvh+wjChP4kqKOJ2qxq
-4RgqsahDYVvTH9w7jXbyLeiNdd8XM2w9U/t7y0Ff/9yi0GE44Za4rF2LN9d11TPA
-mRGunUHBcnWEvgJBQl9nJEiU0Zsnvgc/ubhPgXRR4Xq37Z0j4r7g1SgEEzwxA57d
-emyPxgcYxn/eR44/KJ4EBs+lVDR3veyJm+kXQ99b21/+jh5Xos1AnX5iItreGCc=
------END CERTIFICATE-----
-
-
-ISRGRootX2
------BEGIN CERTIFICATE-----
-MIICGzCCAaGgAwIBAgIQQdKd0XLq7qeAwSxs6S+HUjAKBggqhkjOPQQDAzBPMQsw
-CQYDVQQGEwJVUzEpMCcGA1UEChMgSW50ZXJuZXQgU2VjdXJpdHkgUmVzZWFyY2gg
-R3JvdXAxFTATBgNVBAMTDElTUkcgUm9vdCBYMjAeFw0yMDA5MDQwMDAwMDBaFw00
-MDA5MTcxNjAwMDBaME8xCzAJBgNVBAYTAlVTMSkwJwYDVQQKEyBJbnRlcm5ldCBT
-ZWN1cml0eSBSZXNlYXJjaCBHcm91cDEVMBMGA1UEAxMMSVNSRyBSb290IFgyMHYw
-EAYHKoZIzj0CAQYFK4EEACIDYgAEzZvVn4CDCuwJSvMWSj5cz3es3mcFDR0HttwW
-+1qLFNvicWDEukWVEYmO6gbf9yoWHKS5xcUy4APgHoIYOIvXRdgKam7mAHf7AlF9
-ItgKbppbd9/w+kHsOdx1ymgHDB/qo0IwQDAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0T
-AQH/BAUwAwEB/zAdBgNVHQ4EFgQUfEKWrt5LSDv6kviejM9ti6lyN5UwCgYIKoZI
-zj0EAwMDaAAwZQIwe3lORlCEwkSHRhtFcP9Ymd70/aTSVaYgLXTWNLxBo1BfASdW
-tL4ndQavEi51mI38AjEAi/V3bNTIZargCyzuFJ0nN6T5U6VR5CmD1/iQMVtCnwr1
-/q4AaOeMSQ+2b1tbFfLn
------END CERTIFICATE-----
-
-
-# DigiCert Global Root G2
-# https://www.digicert.com/CACerts/DigiCertGlobalRootG2.crt
-DigiCertGlobalRootG2
------BEGIN CERTIFICATE-----
-MIIDjjCCAnagAwIBAgIQAzrx5qcRqaC7KGSxHQn65TANBgkqhkiG9w0BAQsFADBh
-MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
-d3cuZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBH
-MjAeFw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAwMDBaMGExCzAJBgNVBAYTAlVT
-MRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5j
-b20xIDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEcyMIIBIjANBgkqhkiG
-9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuzfNNNx7a8myaJCtSnX/RrohCgiN9RlUyfuI
-2/Ou8jqJkTx65qsGGmvPrC3oXgkkRLpimn7Wo6h+4FR1IAWsULecYxpsMNzaHxmx
-1x7e/dfgy5SDN67sH0NO3Xss0r0upS/kqbitOtSZpLYl6ZtrAGCSYP9PIUkY92eQ
-q2EGnI/yuum06ZIya7XzV+hdG82MHauVBJVJ8zUtluNJbd134/tJS7SsVQepj5Wz
-tCO7TG1F8PapspUwtP1MVYwnSlcUfIKdzXOS0xZKBgyMUNGPHgm+F6HmIcr9g+UQ
-vIOlCsRnKPZzFBQ9RnbDhxSJITRNrw9FDKZJobq7nMWxM4MphQIDAQABo0IwQDAP
-BgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAdBgNVHQ4EFgQUTiJUIBiV
-5uNu5g/6+rkS7QYXjzkwDQYJKoZIhvcNAQELBQADggEBAGBnKJRvDkhj6zHd6mcY
-1Yl9PMWLSn/pvtsrF9+wX3N3KjITOYFnQoQj8kVnNeyIv/iPsGEMNKSuIEyExtv4
-NeF22d+mQrvHRAiGfzZ0JFrabA0UWTW98kndth/Jsw1HKj2ZL7tcu7XUIOGZX1NG
-Fdtom/DzMNU+MeKNhJ7jitralj41E6Vf8PlwUHBHQRFXGU7Aj64GxJUTFy8bJZ91
-8rGOmaFvE7FBcf6IKshPECBV1/MUReXgRPTqh5Uykw7+U0b6LJ3/iyK5S9kJRaTe
-pLiaWN0bfVKfjllDiIGknibVb63dDcY3fe0Dkhvld1927jyNxF1WW6LZZm6zNTfl
-MrY=
------END CERTIFICATE-----
-
-# DigiCert Global Root G3
-# https://www.digicert.com/CACerts/DigiCertGlobalRootG3.crt
-DigiCertGlobalRootG3
------BEGIN CERTIFICATE-----
-MIICPzCCAcWgAwIBAgIQBVVWvPJepDU1w6QP1atFcjAKBggqhkjOPQQDAzBhMQsw
-CQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cu
-ZGlnaWNlcnQuY29tMSAwHgYDVQQDExdEaWdpQ2VydCBHbG9iYWwgUm9vdCBHMzAe
-Fw0xMzA4MDExMjAwMDBaFw0zODAxMTUxMjAwMDBaMGExCzAJBgNVBAYTAlVTMRUw
-EwYDVQQKEwxEaWdpQ2VydCBJbmMxGTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20x
-IDAeBgNVBAMTF0RpZ2lDZXJ0IEdsb2JhbCBSb290IEczMHYwEAYHKoZIzj0CAQYF
-K4EEACIDYgAE3afZu4q4C/sLfyHS8L6+c/MzXRq8NOrexpu80JX28MzQC7phW1FG
-fp4tn+6OYwwX7Adw9c+ELkCDnOg/QW07rdOkFFk2eJ0DQ+4QE2xy3q6Ip6FrtUPO
-Z9wj/wMco+I+o0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIBhjAd
-BgNVHQ4EFgQUs9tIpPmhxdiuNkHMEWNpYim8S8YwCgYIKoZIzj0EAwMDaAAwZQIx
-AK288mw/EkrRLTnDCgmXc/SINoyIJ7vmiI1Qhadj+Z4y3maTD/HMsQmP3Wyr+mt/
-oAIwOWZbwmSNuJ5Q3KjVSaLtx9zRSX8XAbjIho9OjIgrqJqpisXRAL34VOKa5Vt8
-sycX
------END CERTIFICATE-----
-
-# DigiCert Trusted Root G4
-# https://www.digicert.com/CACerts/DigiCertTrustedRootG4.crt
-DigiCertTrustedRootG4
------BEGIN CERTIFICATE-----
-MIIFkDCCA3igAwIBAgIQBZsbV56OITLiOQe9p3d1XDANBgkqhkiG9w0BAQwFADBi
-MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
-d3cuZGlnaWNlcnQuY29tMSEwHwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3Qg
-RzQwHhcNMTMwODAxMTIwMDAwWhcNMzgwMTE1MTIwMDAwWjBiMQswCQYDVQQGEwJV
-UzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3d3cuZGlnaWNlcnQu
-Y29tMSEwHwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3QgRzQwggIiMA0GCSqG
-SIb3DQEBAQUAA4ICDwAwggIKAoICAQC/5pBzaN675F1KPDAiMGkz7MKnJS7JIT3y
-ithZwuEppz1Yq3aaza57G4QNxDAf8xukOBbrVsaXbR2rsnnyyhHS5F/WBTxSD1If
-xp4VpX6+n6lXFllVcq9ok3DCsrp1mWpzMpTREEQQLt+C8weE5nQ7bXHiLQwb7iDV
-ySAdYyktzuxeTsiT+CFhmzTrBcZe7FsavOvJz82sNEBfsXpm7nfISKhmV1efVFiO
-DCu3T6cw2Vbuyntd463JT17lNecxy9qTXtyOj4DatpGYQJB5w3jHtrHEtWoYOAMQ
-jdjUN6QuBX2I9YI+EJFwq1WCQTLX2wRzKm6RAXwhTNS8rhsDdV14Ztk6MUSaM0C/
-CNdaSaTC5qmgZ92kJ7yhTzm1EVgX9yRcRo9k98FpiHaYdj1ZXUJ2h4mXaXpI8OCi
-EhtmmnTK3kse5w5jrubU75KSOp493ADkRSWJtppEGSt+wJS00mFt6zPZxd9LBADM
-fRyVw4/3IbKyEbe7f/LVjHAsQWCqsWMYRJUadmJ+9oCw++hkpjPRiQfhvbfmQ6QY
-uKZ3AeEPlAwhHbJUKSWJbOUOUlFHdL4mrLZBdd56rF+NP8m800ERElvlEFDrMcXK
-chYiCd98THU/Y+whX8QgUWtvsauGi0/C1kVfnSD8oR7FwI+isX4KJpn15GkvmB0t
-9dmpsh3lGwIDAQABo0IwQDAPBgNVHRMBAf8EBTADAQH/MA4GA1UdDwEB/wQEAwIB
-hjAdBgNVHQ4EFgQU7NfjgtJxXWRM3y5nP+e6mK4cD08wDQYJKoZIhvcNAQEMBQAD
-ggIBALth2X2pbL4XxJEbw6GiAI3jZGgPVs93rnD5/ZpKmbnJeFwMDF/k5hQpVgs2
-SV1EY+CtnJYYZhsjDT156W1r1lT40jzBQ0CuHVD1UvyQO7uYmWlrx8GnqGikJ9yd
-+SeuMIW59mdNOj6PWTkiU0TryF0Dyu1Qen1iIQqAyHNm0aAFYF/opbSnr6j3bTWc
-fFqK1qI4mfN4i/RN0iAL3gTujJtHgXINwBQy7zBZLq7gcfJW5GqXb5JQbZaNaHqa
-sjYUegbyJLkJEVDXCLG4iXqEI2FCKeWjzaIgQdfRnGTZ6iahixTXTBmyUEFxPT9N
-cCOGDErcgdLMMpSEDQgJlxxPwO5rIHQw0uA5NBCFIRUBCOhVMt5xSdkoF1BN5r5N
-0XWs0Mr7QbhDparTwwVETyw2m+L64kW4I1NsBm9nVX9GtUw/bihaeSbSpKhil9Ie
-4u1Ki7wb/UdKDd9nZn6yW0HQO+T0O/QEY+nvwlQAUaCKKsnOeMzV6ocEGLPOr0mI
-r/OSmbaz5mEP0oUA51Aa5BuVnRmhuZyxm7EAHu/QD09CbMkKvO5D+jpxpchNJqU1
-/YldvIViHTLSoCtU7ZpXwdv6EM8Zt4tKG48BtieVU+i2iW1bvGjUI+iLUaJW+fCm
-gKDWHrO8Dw9TdSmq6hN35N6MgSGtBxBHEa2HPQfRdbzP82Z+
------END CERTIFICATE-----
-
-DigiCertTLSRSA4096RootG5
------BEGIN CERTIFICATE-----
-MIIFZjCCA06gAwIBAgIQCPm0eKj6ftpqMzeJ3nzPijANBgkqhkiG9w0BAQwFADBN
-MQswCQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQsIEluYy4xJTAjBgNVBAMT
-HERpZ2lDZXJ0IFRMUyBSU0E0MDk2IFJvb3QgRzUwHhcNMjEwMTE1MDAwMDAwWhcN
-NDYwMTE0MjM1OTU5WjBNMQswCQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQs
-IEluYy4xJTAjBgNVBAMTHERpZ2lDZXJ0IFRMUyBSU0E0MDk2IFJvb3QgRzUwggIi
-MA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCz0PTJeRGd/fxmgefM1eS87IE+
-ajWOLrfn3q/5B03PMJ3qCQuZvWxX2hhKuHisOjmopkisLnLlvevxGs3npAOpPxG0
-2C+JFvuUAT27L/gTBaF4HI4o4EXgg/RZG5Wzrn4DReW+wkL+7vI8toUTmDKdFqgp
-wgscONyfMXdcvyej/Cestyu9dJsXLfKB2l2w4SMXPohKEiPQ6s+d3gMXsUJKoBZM
-pG2T6T867jp8nVid9E6P/DsjyG244gXazOvswzH016cpVIDPRFtMbzCe88zdH5RD
-nU1/cHAN1DrRN/BsnZvAFJNY781BOHW8EwOVfH/jXOnVDdXifBBiqmvwPXbzP6Po
-sMH976pXTayGpxi0KcEsDr9kvimM2AItzVwv8n/vFfQMFawKsPHTDU9qTXeXAaDx
-Zre3zu/O7Oyldcqs4+Fj97ihBMi8ez9dLRYiVu1ISf6nL3kwJZu6ay0/nTvEF+cd
-Lvvyz6b84xQslpghjLSR6Rlgg/IwKwZzUNWYOwbpx4oMYIwo+FKbbuH2TbsGJJvX
-KyY//SovcfXWJL5/MZ4PbeiPT02jP/816t9JXkGPhvnxd3lLG7SjXi/7RgLQZhNe
-XoVPzthwiHvOAbWWl9fNff2C+MIkwcoBOU+NosEUQB+cZtUMCUbW8tDRSHZWOkPL
-tgoRObqME2wGtZ7P6wIDAQABo0IwQDAdBgNVHQ4EFgQUUTMc7TZArxfTJc1paPKv
-TiM+s0EwDgYDVR0PAQH/BAQDAgGGMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcN
-AQEMBQADggIBAGCmr1tfV9qJ20tQqcQjNSH/0GEwhJG3PxDPJY7Jv0Y02cEhJhxw
-GXIeo8mH/qlDZJY6yFMECrZBu8RHANmfGBg7sg7zNOok992vIGCukihfNudd5N7H
-PNtQOa27PShNlnx2xlv0wdsUpasZYgcYQF+Xkdycx6u1UQ3maVNVzDl92sURVXLF
-O4uJ+DQtpBflF+aZfTCIITfNMBc9uPK8qHWgQ9w+iUuQrm0D4ByjoJYJu32jtyoQ
-REtGBzRj7TG5BO6jm5qu5jF49OokYTurWGT/u4cnYiWB39yhL/btp/96j1EuMPik
-AdKFOV8BmZZvWltwGUb+hmA+rYAQCd05JS9Yf7vSdPD3Rh9GOUrYU9DzLjtxpdRv
-/PNn5AeP3SYZ4Y1b+qOTEZvpyDrDVWiakuFSdjjo4bq9+0/V77PnSIMx8IIh47a+
-p6tv75/fTM8BuGJqIz3nCU2AG3swpMPdB380vqQmsvZB6Akd4yCYqjdP//fx4ilw
-MUc/dNAUFvohigLVigmUdy7yWSiLfFCSCmZ4OIN1xLVaqBHG5cGdZlXPU8Sv13WF
-qUITVuwhd4GTWgzqltlJyqEI8pc7bZsEGCREjnwB8twl2F6GmrE52/WRMmrRpnCK
-ovfepEWFJqgejF0pW8hL2JpqA15w8oVPbEtoL8pU9ozaMv7Da4M/OMZ+
------END CERTIFICATE-----
-
-
-DigiCertTLSECCP384RootG5
------BEGIN CERTIFICATE-----
-MIICGTCCAZ+gAwIBAgIQCeCTZaz32ci5PhwLBCou8zAKBggqhkjOPQQDAzBOMQsw
-CQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQsIEluYy4xJjAkBgNVBAMTHURp
-Z2lDZXJ0IFRMUyBFQ0MgUDM4NCBSb290IEc1MB4XDTIxMDExNTAwMDAwMFoXDTQ2
-MDExNDIzNTk1OVowTjELMAkGA1UEBhMCVVMxFzAVBgNVBAoTDkRpZ2lDZXJ0LCBJ
-bmMuMSYwJAYDVQQDEx1EaWdpQ2VydCBUTFMgRUNDIFAzODQgUm9vdCBHNTB2MBAG
-ByqGSM49AgEGBSuBBAAiA2IABMFEoc8Rl1Ca3iOCNQfN0MsYndLxf3c1TzvdlHJS
-7cI7+Oz6e2tYIOyZrsn8aLN1udsJ7MgT9U7GCh1mMEy7H0cKPGEQQil8pQgO4CLp
-0zVozptjn4S1mU1YoI71VOeVyaNCMEAwHQYDVR0OBBYEFMFRRVBZqz7nLFr6ICIS
-B4CIfBFqMA4GA1UdDwEB/wQEAwIBhjAPBgNVHRMBAf8EBTADAQH/MAoGCCqGSM49
-BAMDA2gAMGUCMQCJao1H5+z8blUD2WdsJk6Dxv3J+ysTvLd6jLRl0mlpYxNjOyZQ
-LgGheQaRnUi/wr4CMEfDFXuxoJGZSZOoPHzoRgaLLPIxAJSdYsiJvRmEFOml+wG4
-DXZDjC5Ty3zfDBeWUA==
------END CERTIFICATE-----
-
-
-UserTrustRSACertificationAuthority
------BEGIN CERTIFICATE-----
-MIIF3jCCA8agAwIBAgIQAf1tMPyjylGoG7xkDjUDLTANBgkqhkiG9w0BAQwFADCB
-iDELMAkGA1UEBhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0pl
-cnNleSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNV
-BAMTJVVTRVJUcnVzdCBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTAw
-MjAxMDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBiDELMAkGA1UEBhMCVVMxEzARBgNV
-BAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQKExVU
-aGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBSU0EgQ2Vy
-dGlmaWNhdGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIK
-AoICAQCAEmUXNg7D2wiz0KxXDXbtzSfTTK1Qg2HiqiBNCS1kCdzOiZ/MPans9s/B
-3PHTsdZ7NygRK0faOca8Ohm0X6a9fZ2jY0K2dvKpOyuR+OJv0OwWIJAJPuLodMkY
-tJHUYmTbf6MG8YgYapAiPLz+E/CHFHv25B+O1ORRxhFnRghRy4YUVD+8M/5+bJz/
-Fp0YvVGONaanZshyZ9shZrHUm3gDwFA66Mzw3LyeTP6vBZY1H1dat//O+T23LLb2
-VN3I5xI6Ta5MirdcmrS3ID3KfyI0rn47aGYBROcBTkZTmzNg95S+UzeQc0PzMsNT
-79uq/nROacdrjGCT3sTHDN/hMq7MkztReJVni+49Vv4M0GkPGw/zJSZrM233bkf6
-c0Plfg6lZrEpfDKEY1WJxA3Bk1QwGROs0303p+tdOmw1XNtB1xLaqUkL39iAigmT
-Yo61Zs8liM2EuLE/pDkP2QKe6xJMlXzzawWpXhaDzLhn4ugTncxbgtNMs+1b/97l
-c6wjOy0AvzVVdAlJ2ElYGn+SNuZRkg7zJn0cTRe8yexDJtC/QV9AqURE9JnnV4ee
-UB9XVKg+/XRjL7FQZQnmWEIuQxpMtPAlR1n6BB6T1CZGSlCBst6+eLf8ZxXhyVeE
-Hg9j1uliutZfVS7qXMYoCAQlObgOK6nyTJccBz8NUvXt7y+CDwIDAQABo0IwQDAd
-BgNVHQ4EFgQUU3m/WqorSs9UgOHYm8Cd8rIDZsswDgYDVR0PAQH/BAQDAgEGMA8G
-A1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQEMBQADggIBAFzUfA3P9wF9QZllDHPF
-Up/L+M+ZBn8b2kMVn54CVVeWFPFSPCeHlCjtHzoBN6J2/FNQwISbxmtOuowhT6KO
-VWKR82kV2LyI48SqC/3vqOlLVSoGIG1VeCkZ7l8wXEskEVX/JJpuXior7gtNn3/3
-ATiUFJVDBwn7YKnuHKsSjKCaXqeYalltiz8I+8jRRa8YFWSQEg9zKC7F4iRO/Fjs
-8PRF/iKz6y+O0tlFYQXBl2+odnKPi4w2r78NBc5xjeambx9spnFixdjQg3IM8WcR
-iQycE0xyNN+81XHfqnHd4blsjDwSXWXavVcStkNr/+XeTWYRUc+ZruwXtuhxkYze
-Sf7dNXGiFSeUHM9h4ya7b6NnJSFd5t0dCy5oGzuCr+yDZ4XUmFF0sbmZgIn/f3gZ
-XHlKYC6SQK5MNyosycdiyA5d9zZbyuAlJQG03RoHnHcAP9Dc1ew91Pq7P8yF1m9/
-qS3fuQL39ZeatTXaw2ewh0qpKJ4jjv9cJ2vhsE/zB+4ALtRZh8tSQZXq9EfX7mRB
-VXyNWQKV3WKdwrnuWih0hKWbt5DHDAff9Yk2dDLWKMGwsAvgnEzDHNb842m1R0aB
-L6KCq9NjRHDEjf8tM7qtj3u1cIiuPhnPQCjY/MiQu12ZIvVS5ljFH4gxQ+6IHdfG
-jjxDah2nGN59PRbxYvnKkKj9
------END CERTIFICATE-----
-
-
-UserTrustECCCertificationAuthority
------BEGIN CERTIFICATE-----
-MIICjzCCAhWgAwIBAgIQXIuZxVqUxdJxVt7NiYDMJjAKBggqhkjOPQQDAzCBiDEL
-MAkGA1UEBhMCVVMxEzARBgNVBAgTCk5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNl
-eSBDaXR5MR4wHAYDVQQKExVUaGUgVVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMT
-JVVTRVJUcnVzdCBFQ0MgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTAwMjAx
-MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBiDELMAkGA1UEBhMCVVMxEzARBgNVBAgT
-Ck5ldyBKZXJzZXkxFDASBgNVBAcTC0plcnNleSBDaXR5MR4wHAYDVQQKExVUaGUg
-VVNFUlRSVVNUIE5ldHdvcmsxLjAsBgNVBAMTJVVTRVJUcnVzdCBFQ0MgQ2VydGlm
-aWNhdGlvbiBBdXRob3JpdHkwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQarFRaqflo
-I+d61SRvU8Za2EurxtW20eZzca7dnNYMYf3boIkDuAUU7FfO7l0/4iGzzvfUinng
-o4N+LZfQYcTxmdwlkWOrfzCjtHDix6EznPO/LlxTsV+zfTJ/ijTjeXmjQjBAMB0G
-A1UdDgQWBBQ64QmG1M8ZwpZ2dEl23OA1xmNjmjAOBgNVHQ8BAf8EBAMCAQYwDwYD
-VR0TAQH/BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjA2Z6EWCNzklwBBHU6+4WMB
-zzuqQhFkoJ2UOQIReVx7Hfpkue4WQrO/isIJxOzksU0CMQDpKmFHjFJKS04YcPbW
-RNZu9YO6bVi9JNlWSOrvxKJGgYhqOkbRqZtNyWHa0V1Xahg=
------END CERTIFICATE-----
-
-
-ComodoRSACertificationAuthority
------BEGIN CERTIFICATE-----
-MIIF2DCCA8CgAwIBAgIQTKr5yttjb+Af907YWwOGnTANBgkqhkiG9w0BAQwFADCB
-hTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G
-A1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNV
-BAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMTAwMTE5
-MDAwMDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMCR0IxGzAZBgNVBAgT
-EkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMR
-Q09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBSU0EgQ2VydGlmaWNh
-dGlvbiBBdXRob3JpdHkwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCR
-6FSS0gpWsawNJN3Fz0RndJkrN6N9I3AAcbxT38T6KhKPS38QVr2fcHK3YX/JSw8X
-pz3jsARh7v8Rl8f0hj4K+j5c+ZPmNHrZFGvnnLOFoIJ6dq9xkNfs/Q36nGz637CC
-9BR++b7Epi9Pf5l/tfxnQ3K9DADWietrLNPtj5gcFKt+5eNu/Nio5JIk2kNrYrhV
-/erBvGy2i/MOjZrkm2xpmfh4SDBF1a3hDTxFYPwyllEnvGfDyi62a+pGx8cgoLEf
-Zd5ICLqkTqnyg0Y3hOvozIFIQ2dOciqbXL1MGyiKXCJ7tKuY2e7gUYPDCUZObT6Z
-+pUX2nwzV0E8jVHtC7ZcryxjGt9XyD+86V3Em69FmeKjWiS0uqlWPc9vqv9JWL7w
-qP/0uK3pN/u6uPQLOvnoQ0IeidiEyxPx2bvhiWC4jChWrBQdnArncevPDt09qZah
-SL0896+1DSJMwBGB7FY79tOi4lu3sgQiUpWAk2nojkxl8ZEDLXB0AuqLZxUpaVIC
-u9ffUGpVRr+goyhhf3DQw6KqLCGqR84onAZFdr+CGCe01a60y1Dma/RMhnEw6abf
-Fobg2P9A3fvQQoh/ozM6LlweQRGBY84YcWsr7KaKtzFcOmpH4MN5WdYgGq/yapiq
-crxXStJLnbsQ/LBMQeXtHT1eKJ2czL+zUdqnR+WEUwIDAQABo0IwQDAdBgNVHQ4E
-FgQUu69+Aj36pvE8hI6t7jiY7NkyMtQwDgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB
-/wQFMAMBAf8wDQYJKoZIhvcNAQEMBQADggIBAArx1UaEt65Ru2yyTUEUAJNMnMvl
-wFTPoCWOAvn9sKIN9SCYPBMtrFaisNZ+EZLpLrqeLppysb0ZRGxhNaKatBYSaVqM
-4dc+pBroLwP0rmEdEBsqpIt6xf4FpuHA1sj+nq6PK7o9mfjYcwlYRm6mnPTXJ9OV
-2jeDchzTc+CiR5kDOF3VSXkAKRzH7JsgHAckaVd4sjn8OoSgtZx8jb8uk2Intzna
-FxiuvTwJaP+EmzzV1gsD41eeFPfR60/IvYcjt7ZJQ3mFXLrrkguhxuhoqEwWsRqZ
-CuhTLJK7oQkYdQxlqHvLI7cawiiFwxv/0Cti76R7CZGYZ4wUAc1oBmpjIXUDgIiK
-boHGhfKppC3n9KUkEEeDys30jXlYsQab5xoq2Z0B15R97QNKyvDb6KkBPvVWmcke
-jkk9u+UJueBPSZI9FoJAzMxZxuY67RIuaTxslbH9qh17f4a+Hg4yRvv7E491f0yL
-S0Zj/gA0QHDBw7mh3aZw4gSzQbzpgJHqZJx64SIDqZxubw5lT2yHh17zbqD5daWb
-QOhTsiedSrnAdyGN/4fy3ryM7xfft0kL0fJuMAsaDk527RH89elWsn2/x20Kk4yl
-0MC2Hb46TpSi125sC8KKfPog88Tk5c0NqMuRkrF8hey1FGlmDoLnzc7ILaZRfyHB
-NVOFBkpdn627G190
------END CERTIFICATE-----
-
-
-ComodoECCCertificationAuthority
------BEGIN CERTIFICATE-----
-MIICiTCCAg+gAwIBAgIQH0evqmIAcFBUTAGem2OZKjAKBggqhkjOPQQDAzCBhTEL
-MAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UE
-BxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxKzApBgNVBAMT
-IkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkwHhcNMDgwMzA2MDAw
-MDAwWhcNMzgwMTE4MjM1OTU5WjCBhTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdy
-ZWF0ZXIgTWFuY2hlc3RlcjEQMA4GA1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09N
-T0RPIENBIExpbWl0ZWQxKzApBgNVBAMTIkNPTU9ETyBFQ0MgQ2VydGlmaWNhdGlv
-biBBdXRob3JpdHkwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAAQDR3svdcmCFYX7deSR
-FtSrYpn1PlILBs5BAH+X4QokPB0BBO490o0JlwzgdeT6+3eKKvUDYEs2ixYjFq0J
-cfRK9ChQtP6IHG4/bC8vCVlbpVsLM5niwz2J+Wos77LTBumjQjBAMB0GA1UdDgQW
-BBR1cacZSBm8nZ3qQUfflMRId5nTeTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/
-BAUwAwEB/zAKBggqhkjOPQQDAwNoADBlAjEA7wNbeqy3eApyt4jf/7VGFAkK+qDm
-fQjGGoe9GKhzvSbKYAydzpmfz1wPMOG+FDHqAjAU9JM8SaczepBGR7NjfRObTrdv
-GDeAU/7dIOA1mjbRxwG55tzd8/8dLDoWV9mSOdY=
------END CERTIFICATE-----
-
-
diff -Nru chromium-141.0.7390.65/net/http/transport_security_state_static_pins.json chromium-141.0.7390.107/net/http/transport_security_state_static_pins.json
--- chromium-141.0.7390.65/net/http/transport_security_state_static_pins.json 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/net/http/transport_security_state_static_pins.json 2025-10-13 21:41:26.000000000 +0000
@@ -31,7 +31,7 @@
// the 'static_spki_hashes' and 'bad_static_spki_hashes' fields in 'pinsets'
// refer to, and the timestamp at which the pins list was last updated.
//
-// Last updated: 2025-09-09 12:53 UTC
+// Last updated: 2025-10-12 12:54 UTC
//
{
"pinsets": [
@@ -67,31 +67,6 @@
"GlobalSignExtendedValidationCA_G2",
"GlobalSignExtendedValidationCA_SHA256_G2"
]
- },
- {
- "name": "facebook",
- "static_spki_hashes": [
- "ComodoRSACertificationAuthority",
- "ComodoECCCertificationAuthority",
- "UserTrustRSACertificationAuthority",
- "UserTrustECCCertificationAuthority",
- "DigiCertGlobalRoot",
- "DigiCertGlobalRootG2",
- "DigiCertGlobalRootG3",
- "DigiCertEVRoot",
- "DigiCertTrustedRootG4",
- "DigiCertTLSRSA4096RootG5",
- "DigiCertTLSECCP384RootG5",
- "GlobalSignRootCA",
- "GlobalSignRootCA_R3",
- "GlobalSignRootCA_R6",
- "GlobalSignRootR46",
- "ISRGRootX1",
- "ISRGRootX2",
- "FacebookBackup",
- "SymantecClass3EVG3",
- "DigiCertECCSecureServerCA"
- ]
}
],
"entries": [
@@ -1909,96 +1884,6 @@
"name": "ytimg.com",
"include_subdomains": true,
"pins": "google"
- },
- {
- "name": "facebook.com",
- "include_subdomains": true,
- "pins": "facebook"
- },
- {
- "name": "www.facebook.com",
- "include_subdomains": true,
- "pins": "facebook"
- },
- {
- "name": "m.facebook.com",
- "include_subdomains": true,
- "pins": "facebook"
- },
- {
- "name": "tablet.facebook.com",
- "include_subdomains": true,
- "pins": "facebook"
- },
- {
- "name": "secure.facebook.com",
- "include_subdomains": true,
- "pins": "facebook"
- },
- {
- "name": "pixel.facebook.com",
- "include_subdomains": true,
- "pins": "facebook"
- },
- {
- "name": "apps.facebook.com",
- "include_subdomains": true,
- "pins": "facebook"
- },
- {
- "name": "upload.facebook.com",
- "include_subdomains": true,
- "pins": "facebook"
- },
- {
- "name": "developers.facebook.com",
- "include_subdomains": true,
- "pins": "facebook"
- },
- {
- "name": "touch.facebook.com",
- "include_subdomains": true,
- "pins": "facebook"
- },
- {
- "name": "mbasic.facebook.com",
- "include_subdomains": true,
- "pins": "facebook"
- },
- {
- "name": "code.facebook.com",
- "include_subdomains": true,
- "pins": "facebook"
- },
- {
- "name": "t.facebook.com",
- "include_subdomains": true,
- "pins": "facebook"
- },
- {
- "name": "mtouch.facebook.com",
- "include_subdomains": true,
- "pins": "facebook"
- },
- {
- "name": "business.facebook.com",
- "include_subdomains": true,
- "pins": "facebook"
- },
- {
- "name": "research.facebook.com",
- "include_subdomains": true,
- "pins": "facebook"
- },
- {
- "name": "messenger.com",
- "include_subdomains": true,
- "pins": "facebook"
- },
- {
- "name": "www.messenger.com",
- "include_subdomains": true,
- "pins": "facebook"
}
]
}
\ No newline at end of file
diff -Nru chromium-141.0.7390.65/net/http/transport_security_state_unittest.cc chromium-141.0.7390.107/net/http/transport_security_state_unittest.cc
--- chromium-141.0.7390.65/net/http/transport_security_state_unittest.cc 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/net/http/transport_security_state_unittest.cc 2025-10-13 21:41:26.000000000 +0000
@@ -1446,23 +1446,17 @@
EXPECT_TRUE(OnlyPinningInStaticState("doubleclick.net"));
EXPECT_TRUE(OnlyPinningInStaticState("googlegroups.com"));
- // Facebook has pinning and hsts on facebook.com, but only pinning on
- // subdomains.
- EXPECT_TRUE(state.GetStaticPKPState("facebook.com", &pkp_state));
- EXPECT_FALSE(pkp_state.spki_hashes.empty());
+ // Facebook is not pinned but has hsts only on facebook.com.
+ EXPECT_FALSE(state.GetStaticPKPState("facebook.com", &pkp_state));
EXPECT_TRUE(StaticShouldRedirect("facebook.com"));
-
- EXPECT_TRUE(state.GetStaticPKPState("foo.facebook.com", &pkp_state));
- EXPECT_FALSE(pkp_state.spki_hashes.empty());
+ EXPECT_FALSE(state.GetStaticPKPState("foo.facebook.com", &pkp_state));
EXPECT_FALSE(StaticShouldRedirect("foo.facebook.com"));
- // www.facebook.com and subdomains have both pinning and hsts.
- EXPECT_TRUE(state.GetStaticPKPState("www.facebook.com", &pkp_state));
- EXPECT_FALSE(pkp_state.spki_hashes.empty());
+ // www.facebook.com and subdomains are not pinned, but do have hsts.
+ EXPECT_FALSE(state.GetStaticPKPState("www.facebook.com", &pkp_state));
EXPECT_TRUE(StaticShouldRedirect("www.facebook.com"));
- EXPECT_TRUE(state.GetStaticPKPState("foo.www.facebook.com", &pkp_state));
- EXPECT_FALSE(pkp_state.spki_hashes.empty());
+ EXPECT_FALSE(state.GetStaticPKPState("foo.www.facebook.com", &pkp_state));
EXPECT_TRUE(StaticShouldRedirect("foo.www.facebook.com"));
}
diff -Nru chromium-141.0.7390.65/remoting/resources/remoting_strings_zh-CN.xtb chromium-141.0.7390.107/remoting/resources/remoting_strings_zh-CN.xtb
--- chromium-141.0.7390.65/remoting/resources/remoting_strings_zh-CN.xtb 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/remoting/resources/remoting_strings_zh-CN.xtb 2025-10-13 21:41:26.000000000 +0000
@@ -140,7 +140,7 @@
重试
版权所有 2025 The Chromium Authors。保留所有权利。
主机未连接到网络。
-停止分享
+停止共享
无法使用所选浏览器在本地计算机上打开网址。
Chrome 远程桌面
访问客户端的请求遭拒。
diff -Nru chromium-141.0.7390.65/services/network/cors/cors_url_loader_factory.cc chromium-141.0.7390.107/services/network/cors/cors_url_loader_factory.cc
--- chromium-141.0.7390.65/services/network/cors/cors_url_loader_factory.cc 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/services/network/cors/cors_url_loader_factory.cc 2025-10-13 21:41:26.000000000 +0000
@@ -544,6 +544,11 @@
return true;
}
+bool CorsURLLoaderFactory::IsMultiNetworkCCTWorkFlow() const {
+ return context_->url_request_context()->bound_network() !=
+ net::handles::kInvalidNetworkHandle;
+}
+
bool CorsURLLoaderFactory::IsCorsPreflighLoadOptionAllowed() const {
// kURLLoadOptionAsCorsPreflight is set by CorsURLLoader itself, when
// starting a request, if CORS preflight request is needed.
@@ -578,9 +583,7 @@
// a valid network. So, given that this config is security critical, it's best
// to "peek into implementation details" rather than granting this exception
// to a bigger group.
- return allow_external_preflights_for_testing_ ||
- context_->url_request_context()->bound_network() !=
- net::handles::kInvalidNetworkHandle;
+ return allow_external_preflights_for_testing_ || IsMultiNetworkCCTWorkFlow();
}
bool CorsURLLoaderFactory::IsValidRequest(const ResourceRequest& request,
@@ -607,8 +610,24 @@
if (request.load_flags &
(net::LOAD_CAN_USE_SHARED_DICTIONARY |
net::LOAD_DISABLE_SHARED_DICTIONARY_AFTER_CROSS_ORIGIN_REDIRECT)) {
- mojo::ReportBadMessage("CorsURLLoaderFactory: Internal load flag received");
- return false;
+ // In the multi-network CCT workflow, when fetching the subresource, we
+ // create a nested CorsURLLoaderFactory to run the same request on a
+ // specific network. That causes this check to be invoked twice: the first
+ // invocation performs the authoritative validation, and later passes may
+ // add internal flags to the request. Re-validating here is unnecessary and
+ // can falsely reject otherwise valid requests (See
+ // CorsURLLoaderFactory::IsCorsPreflighLoadOptionAllowed for the rational).
+ // Note: Skipping this check is appropriate for subresource requests.
+ // For main page loads or navigation requests, ideally the check should
+ // still be performed as there is no nesting. However, since this is only
+ // a sanity check, skipping it here is safe.
+ // TODO(crbug.com/449098586): refactor to get rid of nested
+ // CorsURLLoaderFactory to make the design clearer.
+ if (!IsMultiNetworkCCTWorkFlow()) {
+ mojo::ReportBadMessage(
+ "CorsURLLoaderFactory: Internal load flag received");
+ return false;
+ }
}
// Check if this is an untrusted factory being provided parameters that should
diff -Nru chromium-141.0.7390.65/services/network/cors/cors_url_loader_factory.h chromium-141.0.7390.107/services/network/cors/cors_url_loader_factory.h
--- chromium-141.0.7390.65/services/network/cors/cors_url_loader_factory.h 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/services/network/cors/cors_url_loader_factory.h 2025-10-13 21:41:26.000000000 +0000
@@ -160,6 +160,9 @@
mojo::PendingRemote GetDevToolsObserver(
ResourceRequest& resource_request) const;
+ // Returns whether this factory is used in the multi-network CCT workflow.
+ bool IsMultiNetworkCCTWorkFlow() const;
+
template
void OnLoaderCreated(
std::unique_ptr loader,
diff -Nru chromium-141.0.7390.65/third_party/blink/renderer/core/editing/selection_modifier.cc chromium-141.0.7390.107/third_party/blink/renderer/core/editing/selection_modifier.cc
--- chromium-141.0.7390.65/third_party/blink/renderer/core/editing/selection_modifier.cc 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/third_party/blink/renderer/core/editing/selection_modifier.cc 2025-10-13 21:41:26.000000000 +0000
@@ -989,7 +989,7 @@
// Abs x/y position of the caret ignoring transforms.
// TODO(yosin) navigation with transforms should be smarter.
-LayoutUnit SelectionModifier::LineDirectionPointForBlockDirectionNavigationOf(
+static LayoutUnit LineDirectionPointForBlockDirectionNavigationOf(
const VisiblePositionInFlatTree& visible_position) {
if (visible_position.IsNull())
return LayoutUnit();
diff -Nru chromium-141.0.7390.65/third_party/blink/renderer/core/editing/selection_modifier.h chromium-141.0.7390.107/third_party/blink/renderer/core/editing/selection_modifier.h
--- chromium-141.0.7390.65/third_party/blink/renderer/core/editing/selection_modifier.h 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/third_party/blink/renderer/core/editing/selection_modifier.h 2025-10-13 21:41:26.000000000 +0000
@@ -106,11 +106,7 @@
PositionInFlatTree NextWordPositionForPlatform(const PositionInFlatTree&);
void UpdateAllLifecyclePhasesExceptPaint();
- static LayoutUnit LineDirectionPointForBlockDirectionNavigationOf(
- const VisiblePositionInFlatTree&);
- static bool ShouldUseUpstreamPositionForLineNavigation(
- const PositionInFlatTree&,
- LayoutUnit line_direction_point);
+
static PositionInFlatTreeWithAffinity PreviousLinePosition(
const PositionInFlatTreeWithAffinity&,
LayoutUnit line_direction_point);
diff -Nru chromium-141.0.7390.65/third_party/blink/renderer/core/editing/selection_modifier_line.cc chromium-141.0.7390.107/third_party/blink/renderer/core/editing/selection_modifier_line.cc
--- chromium-141.0.7390.65/third_party/blink/renderer/core/editing/selection_modifier_line.cc 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/third_party/blink/renderer/core/editing/selection_modifier_line.cc 2025-10-13 21:41:26.000000000 +0000
@@ -32,7 +32,6 @@
#include "third_party/blink/renderer/core/editing/editing_utilities.h"
#include "third_party/blink/renderer/core/editing/inline_box_position.h"
-#include "third_party/blink/renderer/core/editing/position_with_affinity.h"
#include "third_party/blink/renderer/core/editing/visible_position.h"
#include "third_party/blink/renderer/core/editing/visible_units.h"
#include "third_party/blink/renderer/core/layout/geometry/logical_rect.h"
@@ -43,10 +42,6 @@
namespace {
-static LayoutUnit AbsoluteDifference(LayoutUnit a, LayoutUnit b) {
- return (a - b).Abs();
-}
-
// TODO(1229581): Get rid of this.
class AbstractLineBox {
STACK_ALLOCATED();
@@ -123,6 +118,10 @@
bool only_editable_leaves) const {
return PositionForPoint(cursor_, point_in_container, only_editable_leaves);
}
+ const LayoutBlockFlow& GetBlock() const {
+ DCHECK(IsNotNull());
+ return *cursor_.GetLayoutBlockFlow();
+ }
private:
explicit AbstractLineBox(const InlineCursor& cursor)
@@ -130,10 +129,6 @@
DCHECK(cursor_.Current().IsLineBox());
}
- const LayoutBlockFlow& GetBlock() const {
- DCHECK(IsNotNull());
- return *cursor_.GetLayoutBlockFlow();
- }
LayoutUnit PhysicalBlockOffset() const {
DCHECK(IsNotNull());
@@ -383,27 +378,6 @@
} // namespace
// static
-bool SelectionModifier::ShouldUseUpstreamPositionForLineNavigation(
- const PositionInFlatTree& p,
- LayoutUnit line_direction_point) {
- const PositionInFlatTreeWithAffinity upstream_position_with_affinity(
- p, TextAffinity::kUpstream);
- const VisiblePositionInFlatTree& visible_upstream_position =
- CreateVisiblePosition(upstream_position_with_affinity);
- const LayoutUnit x_upstream = LineDirectionPointForBlockDirectionNavigationOf(
- visible_upstream_position);
-
- const VisiblePositionInFlatTree& visible_downstream_position =
- CreateVisiblePosition(p, TextAffinity::kDownstream);
- const LayoutUnit x_downstream =
- LineDirectionPointForBlockDirectionNavigationOf(
- visible_downstream_position);
-
- return AbsoluteDifference(line_direction_point, x_upstream) <
- AbsoluteDifference(line_direction_point, x_downstream);
-}
-
-// static
PositionInFlatTreeWithAffinity SelectionModifier::PreviousLinePosition(
const PositionInFlatTreeWithAffinity& position,
LayoutUnit line_direction_point) {
@@ -421,19 +395,6 @@
AbstractLineBox line = AbstractLineBox::CreateFor(position);
if (line) {
- if (RuntimeEnabledFeatures::
- ConsiderUpstreamPositionForFindingPreviousLineEnabled()) {
- if (ShouldUseUpstreamPositionForLineNavigation(p, line_direction_point)) {
- const PositionInFlatTreeWithAffinity upstream_position(
- p, TextAffinity::kUpstream);
- if (upstream_position.IsNotNull()) {
- if (auto upstream_line =
- AbstractLineBox::CreateFor(upstream_position)) {
- line = upstream_line;
- }
- }
- }
- }
line = line.PreviousLine();
if (!line || !line.CanBeCaretContainer()) {
line = AbstractLineBox();
@@ -503,18 +464,6 @@
AbstractLineBox line = AbstractLineBox::CreateFor(position);
if (line) {
- if (RuntimeEnabledFeatures::
- ConsiderUpstreamPositionForFindingNextLineEnabled() &&
- ShouldUseUpstreamPositionForLineNavigation(p, line_direction_point)) {
- const PositionInFlatTreeWithAffinity upstream_position(
- p, TextAffinity::kUpstream);
- if (upstream_position.IsNotNull()) {
- if (auto upstream_line =
- AbstractLineBox::CreateFor(upstream_position)) {
- line = upstream_line;
- }
- }
- }
line = line.NextLine();
if (!line || !line.CanBeCaretContainer())
line = AbstractLineBox();
diff -Nru chromium-141.0.7390.65/third_party/blink/renderer/platform/fonts/skia/font_cache_skia.cc chromium-141.0.7390.107/third_party/blink/renderer/platform/fonts/skia/font_cache_skia.cc
--- chromium-141.0.7390.65/third_party/blink/renderer/platform/fonts/skia/font_cache_skia.cc 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/third_party/blink/renderer/platform/fonts/skia/font_cache_skia.cc 2025-10-13 21:41:26.000000000 +0000
@@ -34,6 +34,7 @@
#include
#include "base/check_op.h"
+#include "base/metrics/histogram_functions.h"
#include "base/notreached.h"
#include "build/build_config.h"
#include "skia/ext/font_utils.h"
@@ -208,6 +209,8 @@
}
#endif
+ base::UmaHistogramBoolean("Blink.Fonts.LastResortFallbackFound",
+ font_platform_data != nullptr);
DCHECK(font_platform_data);
return FontDataFromFontPlatformData(font_platform_data);
}
diff -Nru chromium-141.0.7390.65/third_party/blink/renderer/platform/runtime_enabled_features.json5 chromium-141.0.7390.107/third_party/blink/renderer/platform/runtime_enabled_features.json5
--- chromium-141.0.7390.65/third_party/blink/renderer/platform/runtime_enabled_features.json5 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/third_party/blink/renderer/platform/runtime_enabled_features.json5 2025-10-13 21:41:26.000000000 +0000
@@ -1089,16 +1089,6 @@
status: "stable"
},
{
- // See https://crbug.com/426067493 for details.
- name: "ConsiderUpstreamPositionForFindingNextLine",
- status: "stable",
- },
- {
- // See https://crbug.com/40679713 for details.
- name: "ConsiderUpstreamPositionForFindingPreviousLine",
- status: "stable",
- },
- {
name: "ContactsManager",
status: {"Android": "stable", "default": "test"},
},
@@ -5822,7 +5812,8 @@
},
{
name: "WidthAndHeightAsPresentationAttributesOnNestedSvg",
- status: "stable",
+ // Disabled due to web compat issues, see https://crbug.com/449170647.
+ status: "experimental",
},
{
name: "WidthAndHeightStylePropertiesOnUseAndSymbol",
diff -Nru chromium-141.0.7390.65/third_party/webrtc/modules/desktop_capture/desktop_capturer.cc chromium-141.0.7390.107/third_party/webrtc/modules/desktop_capture/desktop_capturer.cc
--- chromium-141.0.7390.65/third_party/webrtc/modules/desktop_capture/desktop_capturer.cc 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/third_party/webrtc/modules/desktop_capture/desktop_capturer.cc 2025-10-13 21:41:26.000000000 +0000
@@ -21,6 +21,7 @@
#include "modules/desktop_capture/desktop_capturer_differ_wrapper.h"
#include "modules/desktop_capture/desktop_geometry.h"
#include "modules/desktop_capture/shared_memory.h"
+#include "rtc_base/logging.h"
#include "system_wrappers/include/metrics.h"
#if defined(WEBRTC_WIN)
@@ -81,18 +82,26 @@
#if defined(RTC_ENABLE_WIN_WGC)
if (options.allow_wgc_window_capturer() &&
IsWgcSupported(CaptureType::kWindow)) {
+ RTC_LOG(LS_INFO) << "video capture: DesktopCapturer::CreateWindowCapturer "
+ "creates DesktopCapturer of type WgcCapturerWin";
return WgcCapturerWin::CreateRawWindowCapturer(options);
}
#endif // defined(RTC_ENABLE_WIN_WGC)
#if defined(WEBRTC_WIN)
if (options.allow_cropping_window_capturer()) {
+ RTC_LOG(LS_INFO)
+ << "video capture: DesktopCapturer::CreateWindowCapturer "
+ "creates DesktopCapturer of type CroppingWindowCapturerWin";
return CroppingWindowCapturer::CreateCapturer(options);
}
#endif // defined(WEBRTC_WIN)
std::unique_ptr capturer = CreateRawWindowCapturer(options);
if (capturer && options.detect_updated_region()) {
+ RTC_LOG(LS_INFO) << "video capture: DesktopCapturer::CreateWindowCapturer "
+ "creates DesktopCapturer of type "
+ "DesktopCapturerDifferWrapper over a base capturer";
capturer.reset(new DesktopCapturerDifferWrapper(std::move(capturer)));
}
@@ -105,12 +114,18 @@
#if defined(RTC_ENABLE_WIN_WGC)
if (options.allow_wgc_screen_capturer() &&
IsWgcSupported(CaptureType::kScreen)) {
+ RTC_LOG(LS_INFO) << "video capture: DesktopCapturer::CreateScreenCapturer "
+ "creates DesktopCapturer of type WgcCapturerWin";
return WgcCapturerWin::CreateRawScreenCapturer(options);
}
#endif // defined(RTC_ENABLE_WIN_WGC)
std::unique_ptr capturer = CreateRawScreenCapturer(options);
if (capturer && options.detect_updated_region()) {
+ RTC_LOG(LS_INFO)
+ << "video capture: DesktopCapturer::CreateScreenCapturer creates "
+ "DesktopCapturer of type DesktopCapturerDifferWrapper over a base "
+ "capturer";
capturer.reset(new DesktopCapturerDifferWrapper(std::move(capturer)));
}
diff -Nru chromium-141.0.7390.65/third_party/webrtc/modules/desktop_capture/linux/x11/screen_capturer_x11.cc chromium-141.0.7390.107/third_party/webrtc/modules/desktop_capture/linux/x11/screen_capturer_x11.cc
--- chromium-141.0.7390.65/third_party/webrtc/modules/desktop_capture/linux/x11/screen_capturer_x11.cc 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/third_party/webrtc/modules/desktop_capture/linux/x11/screen_capturer_x11.cc 2025-10-13 21:41:26.000000000 +0000
@@ -511,8 +511,14 @@
if (!options.x_display())
return nullptr;
+ RTC_LOG(LS_INFO)
+ << "video capture: ScreenCapturerX11::CreateRawScreenCapturer creates "
+ "DesktopCapturer of type ScreenCapturerX11";
std::unique_ptr capturer(new ScreenCapturerX11());
if (!capturer->Init(options)) {
+ RTC_LOG(LS_INFO)
+ << "video capture: ScreenCapturerX11::CreateRawScreenCapturer "
+ "DesktopCapturer is null because it can not be initiated";
return nullptr;
}
diff -Nru chromium-141.0.7390.65/third_party/webrtc/modules/desktop_capture/linux/x11/window_capturer_x11.cc chromium-141.0.7390.107/third_party/webrtc/modules/desktop_capture/linux/x11/window_capturer_x11.cc
--- chromium-141.0.7390.65/third_party/webrtc/modules/desktop_capture/linux/x11/window_capturer_x11.cc 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/third_party/webrtc/modules/desktop_capture/linux/x11/window_capturer_x11.cc 2025-10-13 21:41:26.000000000 +0000
@@ -247,6 +247,10 @@
const DesktopCaptureOptions& options) {
if (!options.x_display())
return nullptr;
+
+ RTC_LOG(LS_INFO)
+ << "video capture: WindowCapturerX11::CreateRawWindowCapturer creates "
+ "DesktopCapturer of type WindowCapturerX11";
return std::unique_ptr(new WindowCapturerX11(options));
}
diff -Nru chromium-141.0.7390.65/third_party/webrtc/modules/desktop_capture/screen_capturer_darwin.mm chromium-141.0.7390.107/third_party/webrtc/modules/desktop_capture/screen_capturer_darwin.mm
--- chromium-141.0.7390.65/third_party/webrtc/modules/desktop_capture/screen_capturer_darwin.mm 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/third_party/webrtc/modules/desktop_capture/screen_capturer_darwin.mm 2025-10-13 21:41:26.000000000 +0000
@@ -12,6 +12,7 @@
#include "modules/desktop_capture/mac/screen_capturer_mac.h"
#include "modules/desktop_capture/mac/screen_capturer_sck.h"
+#include "rtc_base/logging.h"
namespace webrtc {
@@ -27,10 +28,16 @@
std::unique_ptr sck_capturer =
CreateScreenCapturerSck(options);
if (sck_capturer) {
+ RTC_LOG(LS_INFO)
+ << "video capture: DesktopCapturer::CreateRawScreenCapturer creates "
+ "DesktopCapturer of type ScreenCapturerSck";
return sck_capturer;
}
}
+ RTC_LOG(LS_INFO)
+ << "video capture: DesktopCapturer::CreateRawScreenCapturer creates "
+ "DesktopCapturer of type ScreenCapturerMac";
auto capturer =
std::make_unique(options.configuration_monitor(),
options.detect_updated_region(),
diff -Nru chromium-141.0.7390.65/third_party/webrtc/modules/desktop_capture/screen_capturer_fuchsia.cc chromium-141.0.7390.107/third_party/webrtc/modules/desktop_capture/screen_capturer_fuchsia.cc
--- chromium-141.0.7390.65/third_party/webrtc/modules/desktop_capture/screen_capturer_fuchsia.cc 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/third_party/webrtc/modules/desktop_capture/screen_capturer_fuchsia.cc 2025-10-13 21:41:26.000000000 +0000
@@ -56,6 +56,9 @@
std::unique_ptr DesktopCapturer::CreateRawScreenCapturer(
const DesktopCaptureOptions& options) {
+ RTC_LOG(LS_INFO)
+ << "video capture: DesktopCapturer::CreateRawScreenCapturer creates "
+ "DesktopCapturer of type ScreenCapturerFuchsia";
std::unique_ptr capturer(new ScreenCapturerFuchsia());
return capturer;
}
diff -Nru chromium-141.0.7390.65/third_party/webrtc/modules/desktop_capture/screen_capturer_linux.cc chromium-141.0.7390.107/third_party/webrtc/modules/desktop_capture/screen_capturer_linux.cc
--- chromium-141.0.7390.65/third_party/webrtc/modules/desktop_capture/screen_capturer_linux.cc 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/third_party/webrtc/modules/desktop_capture/screen_capturer_linux.cc 2025-10-13 21:41:26.000000000 +0000
@@ -13,6 +13,7 @@
#include "modules/desktop_capture/desktop_capture_options.h"
#include "modules/desktop_capture/desktop_capture_types.h"
#include "modules/desktop_capture/desktop_capturer.h"
+#include "rtc_base/logging.h"
#if defined(WEBRTC_USE_PIPEWIRE)
#include "modules/desktop_capture/linux/wayland/base_capturer_pipewire.h"
@@ -29,6 +30,9 @@
const DesktopCaptureOptions& options) {
#if defined(WEBRTC_USE_PIPEWIRE)
if (options.allow_pipewire() && BaseCapturerPipeWire::IsSupported()) {
+ RTC_LOG(LS_INFO)
+ << "video capture: DesktopCapturer::CreateRawScreenCapturer creates "
+ "DesktopCapturer of type BaseCapturerPipeWire";
return std::make_unique(options,
CaptureType::kScreen);
}
diff -Nru chromium-141.0.7390.65/third_party/webrtc/modules/desktop_capture/screen_capturer_null.cc chromium-141.0.7390.107/third_party/webrtc/modules/desktop_capture/screen_capturer_null.cc
--- chromium-141.0.7390.65/third_party/webrtc/modules/desktop_capture/screen_capturer_null.cc 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/third_party/webrtc/modules/desktop_capture/screen_capturer_null.cc 2025-10-13 21:41:26.000000000 +0000
@@ -11,12 +11,16 @@
#include
#include "modules/desktop_capture/desktop_capturer.h"
+#include "rtc_base/logging.h"
namespace webrtc {
// static
std::unique_ptr DesktopCapturer::CreateRawScreenCapturer(
const DesktopCaptureOptions& options) {
+ RTC_LOG(LS_INFO)
+ << "video capture: DesktopCapturer::CreateRawScreenCapturer creates null "
+ "DesktopCapturer";
return nullptr;
}
diff -Nru chromium-141.0.7390.65/third_party/webrtc/modules/desktop_capture/screen_capturer_win.cc chromium-141.0.7390.107/third_party/webrtc/modules/desktop_capture/screen_capturer_win.cc
--- chromium-141.0.7390.65/third_party/webrtc/modules/desktop_capture/screen_capturer_win.cc 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/third_party/webrtc/modules/desktop_capture/screen_capturer_win.cc 2025-10-13 21:41:26.000000000 +0000
@@ -19,6 +19,7 @@
#include "modules/desktop_capture/win/dxgi_duplicator_controller.h"
#include "modules/desktop_capture/win/screen_capturer_win_directx.h"
#include "modules/desktop_capture/win/screen_capturer_win_gdi.h"
+#include "rtc_base/logging.h"
namespace webrtc {
@@ -26,6 +27,9 @@
std::unique_ptr CreateScreenCapturerWinDirectx(
const DesktopCaptureOptions& options) {
+ RTC_LOG(LS_INFO)
+ << "video capture: DesktopCapturer::CreateRawScreenCapturer creates "
+ "DesktopCapturer of type ScreenCapturerWinDirectx";
std::unique_ptr capturer(
new ScreenCapturerWinDirectx(options));
capturer.reset(new BlankDetectorDesktopCapturerWrapper(
@@ -39,6 +43,8 @@
std::unique_ptr DesktopCapturer::CreateRawScreenCapturer(
const DesktopCaptureOptions& options) {
// Default capturer if no options are enabled is GDI.
+ RTC_LOG(LS_INFO) << "video capture: DesktopCapturer::CreateRawScreenCapturer "
+ "creates DesktopCapturer of type ScreenCapturerWinGdi";
std::unique_ptr capturer(new ScreenCapturerWinGdi(options));
// If DirectX is enabled use it as main capturer with GDI as fallback.
diff -Nru chromium-141.0.7390.65/third_party/webrtc/modules/desktop_capture/window_capturer_linux.cc chromium-141.0.7390.107/third_party/webrtc/modules/desktop_capture/window_capturer_linux.cc
--- chromium-141.0.7390.65/third_party/webrtc/modules/desktop_capture/window_capturer_linux.cc 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/third_party/webrtc/modules/desktop_capture/window_capturer_linux.cc 2025-10-13 21:41:26.000000000 +0000
@@ -13,6 +13,7 @@
#include "modules/desktop_capture/desktop_capture_options.h"
#include "modules/desktop_capture/desktop_capture_types.h"
#include "modules/desktop_capture/desktop_capturer.h"
+#include "rtc_base/logging.h"
#if defined(WEBRTC_USE_PIPEWIRE)
#include "modules/desktop_capture/linux/wayland/base_capturer_pipewire.h"
@@ -29,6 +30,9 @@
const DesktopCaptureOptions& options) {
#if defined(WEBRTC_USE_PIPEWIRE)
if (options.allow_pipewire() && BaseCapturerPipeWire::IsSupported()) {
+ RTC_LOG(LS_INFO)
+ << "video capture: DesktopCapturer::CreateRawWindowCapturer creates "
+ "DesktopCapturer of type BaseCapturerPipeWire";
return std::make_unique(options,
CaptureType::kWindow);
}
diff -Nru chromium-141.0.7390.65/third_party/webrtc/modules/desktop_capture/window_capturer_mac.mm chromium-141.0.7390.107/third_party/webrtc/modules/desktop_capture/window_capturer_mac.mm
--- chromium-141.0.7390.65/third_party/webrtc/modules/desktop_capture/window_capturer_mac.mm 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/third_party/webrtc/modules/desktop_capture/window_capturer_mac.mm 2025-10-13 21:41:26.000000000 +0000
@@ -217,6 +217,8 @@
// static
std::unique_ptr DesktopCapturer::CreateRawWindowCapturer(
const DesktopCaptureOptions& options) {
+ RTC_LOG(LS_INFO) << "video capture: DesktopCapturer::CreateRawWindowCapturer "
+ "creates DesktopCapturer of type WindowCapturerMac";
return std::unique_ptr(new WindowCapturerMac(
options.full_screen_window_detector(), options.configuration_monitor()));
}
diff -Nru chromium-141.0.7390.65/third_party/webrtc/modules/desktop_capture/window_capturer_null.cc chromium-141.0.7390.107/third_party/webrtc/modules/desktop_capture/window_capturer_null.cc
--- chromium-141.0.7390.65/third_party/webrtc/modules/desktop_capture/window_capturer_null.cc 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/third_party/webrtc/modules/desktop_capture/window_capturer_null.cc 2025-10-13 21:41:26.000000000 +0000
@@ -12,6 +12,7 @@
#include "modules/desktop_capture/desktop_capturer.h"
#include "rtc_base/checks.h"
+#include "rtc_base/logging.h"
namespace webrtc {
@@ -65,6 +66,8 @@
// static
std::unique_ptr DesktopCapturer::CreateRawWindowCapturer(
const DesktopCaptureOptions& options) {
+ RTC_LOG(LS_INFO) << "video capture: DesktopCapturer::CreateRawWindowCapturer "
+ "creates DesktopCapturer of type WindowCapturerNull";
return std::unique_ptr(new WindowCapturerNull());
}
diff -Nru chromium-141.0.7390.65/third_party/webrtc/modules/desktop_capture/window_capturer_win.cc chromium-141.0.7390.107/third_party/webrtc/modules/desktop_capture/window_capturer_win.cc
--- chromium-141.0.7390.65/third_party/webrtc/modules/desktop_capture/window_capturer_win.cc 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/third_party/webrtc/modules/desktop_capture/window_capturer_win.cc 2025-10-13 21:41:26.000000000 +0000
@@ -15,6 +15,7 @@
#include "modules/desktop_capture/desktop_capturer.h"
#include "modules/desktop_capture/rgba_color.h"
#include "modules/desktop_capture/win/window_capturer_win_gdi.h"
+#include "rtc_base/logging.h"
#if defined(RTC_ENABLE_WIN_WGC)
#include "modules/desktop_capture/blank_detector_desktop_capturer_wrapper.h"
@@ -28,6 +29,8 @@
// static
std::unique_ptr DesktopCapturer::CreateRawWindowCapturer(
const DesktopCaptureOptions& options) {
+ RTC_LOG(LS_INFO) << "video capture: DesktopCapturer::CreateRawWindowCapturer "
+ "creates DesktopCapturer of type WindowCapturerWinGdi";
std::unique_ptr capturer(
WindowCapturerWinGdi::CreateRawWindowCapturer(options));
#if defined(RTC_ENABLE_WIN_WGC)
@@ -36,6 +39,10 @@
// BlankDectector capturer will send an error when it detects a failed
// GDI rendering, then Fallback capturer will try to capture it again with
// WGC.
+ RTC_LOG(LS_INFO)
+ << "video capture: DesktopCapturer::CreateRawWindowCapturer creates "
+ "DesktopCapturer of type FallbackDesktopCapturerWrapper which has a "
+ "fallback capturer of type WgcCapturerWin";
capturer = std::make_unique(
std::move(capturer), RgbaColor(0, 0, 0, 0),
/*check_per_capture*/ true);
diff -Nru chromium-141.0.7390.65/tools/clang/scripts/build.py chromium-141.0.7390.107/tools/clang/scripts/build.py
--- chromium-141.0.7390.65/tools/clang/scripts/build.py 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/tools/clang/scripts/build.py 2025-10-13 21:41:26.000000000 +0000
@@ -202,6 +202,7 @@
def GitCherryPick(git_repository,
commit,
+ extra_flags=[],
git_remote=None,
git_remote_name='github'):
print(f'Cherry-picking {commit} in {git_repository} from {git_remote}')
@@ -221,7 +222,7 @@
RunCommand([
'git', '-C', git_repository, 'cherry-pick', '--keep-redundant-commits',
commit
- ],
+ ] + extra_flags,
env=env)
@@ -849,6 +850,19 @@
if not args.skip_checkout:
with timer.time('checkout llvm'):
CheckoutGitRepo('LLVM monorepo', LLVM_GIT_URL, checkout_revision, LLVM_DIR)
+ # TODO(crbug.com/435127246): Permanent cherry-pick on this branch,
+ # but temporary on HEAD.
+ GitCherryPick(LLVM_DIR, '69b8d6d4ead01b88fb8d6642914ca7492e32fdb6', extra_flags=['-Xtheirs'])
+ conflict = 'lld/test/COFF/arm64x-delayimport.test'
+ with open(os.path.join(LLVM_DIR, conflict), 'r+b') as f:
+ data = f.read()
+ data = data.replace(b'DISASM-NEXT: 180001050: 910d2000 add x0, x0, #0x348',
+ b'DISASM-NEXT: 180001050: 910d4000 add x0, x0, #0x350')
+ f.seek(0)
+ f.write(data)
+ f.truncate()
+ RunCommand(['git', '-C', LLVM_DIR, 'add', conflict]);
+ RunCommand(['git', '-C', LLVM_DIR, 'commit', '-m', 'resolve conflict with PR149521']);
if args.llvm_force_head_revision:
CLANG_REVISION = GetCommitDescription(checkout_revision)
diff -Nru chromium-141.0.7390.65/tools/clang/scripts/update.py chromium-141.0.7390.107/tools/clang/scripts/update.py
--- chromium-141.0.7390.65/tools/clang/scripts/update.py 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/tools/clang/scripts/update.py 2025-10-13 21:41:26.000000000 +0000
@@ -40,7 +40,7 @@
# should not be changed manually.
# They are also read by build/config/compiler/BUILD.gn.
CLANG_REVISION = 'llvmorg-21-init-16348-gbd809ffb'
-CLANG_SUB_REVISION = 17
+CLANG_SUB_REVISION = 18
PACKAGE_VERSION = '%s-%s' % (CLANG_REVISION, CLANG_SUB_REVISION)
# TODO(crbug.com/432036065): Bump to 22 in next Clang roll.
diff -Nru chromium-141.0.7390.65/tools/metrics/histograms/metadata/ash/enums.xml chromium-141.0.7390.107/tools/metrics/histograms/metadata/ash/enums.xml
--- chromium-141.0.7390.65/tools/metrics/histograms/metadata/ash/enums.xml 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/tools/metrics/histograms/metadata/ash/enums.xml 2025-10-13 21:41:26.000000000 +0000
@@ -2102,6 +2102,7 @@
+
diff -Nru chromium-141.0.7390.65/tools/metrics/histograms/metadata/blink/histograms.xml chromium-141.0.7390.107/tools/metrics/histograms/metadata/blink/histograms.xml
--- chromium-141.0.7390.65/tools/metrics/histograms/metadata/blink/histograms.xml 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/tools/metrics/histograms/metadata/blink/histograms.xml 2025-10-13 21:41:26.000000000 +0000
@@ -2602,6 +2602,18 @@
+
+ andresrperez@chromium.org
+ anthonyvd@chromium.org
+
+ Records whether a last resort fallback font was found. This is attempted
+ when no other specified font could be instantiated to render a character.
+ The last resort font from the FontDescription is tried first, and then
+ hardcoded system fonts if needed.
+
+
+
drott@chromium.org
diff -Nru chromium-141.0.7390.65/tools/metrics/histograms/metadata/chrome/histograms.xml chromium-141.0.7390.107/tools/metrics/histograms/metadata/chrome/histograms.xml
--- chromium-141.0.7390.65/tools/metrics/histograms/metadata/chrome/histograms.xml 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/tools/metrics/histograms/metadata/chrome/histograms.xml 2025-10-13 21:41:26.000000000 +0000
@@ -42,6 +42,30 @@
+
+ andresrperez@chromium.org
+ anthonyvd@chromium.org
+ drott@chromium.org
+ etienneb@chromium.org
+
+ The HResult of failed GetFont calls in
+ DWriteFontProxyImpl::GetFontFileHandles.
+
+
+
+
+ andresrperez@chromium.org
+ anthonyvd@chromium.org
+ drott@chromium.org
+ etienneb@chromium.org
+
+ The HResult of failed GetFontFamily calls in
+ DWriteFontProxyImpl::GetFontFileHandles.
+
+
+
andresrperez@chromium.org
diff -Nru chromium-141.0.7390.65/ui/aura/window_tree_host.cc chromium-141.0.7390.107/ui/aura/window_tree_host.cc
--- chromium-141.0.7390.65/ui/aura/window_tree_host.cc 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/ui/aura/window_tree_host.cc 2025-10-13 21:41:26.000000000 +0000
@@ -809,25 +809,28 @@
dispatcher()->OnCursorMovedToRootLocation(root_location);
}
+void WindowTreeHost::OnCompositingAckDeprecated(ui::Compositor* compositor) {
+ // Currently, input is only throttled on ash and is not well supported on
+ // other platforms. See crbug.com/41359082.
#if BUILDFLAG(IS_CHROMEOS)
-void WindowTreeHost::OnChildResizeActivated() {
- if (!holding_pointer_moves_) {
+ if (!holding_pointer_moves_)
return;
- }
dispatcher_->ReleasePointerMoves();
holding_pointer_moves_ = false;
+#endif
}
-void WindowTreeHost::OnCompositingChildResizing() {
+void WindowTreeHost::OnCompositingChildResizing(ui::Compositor* compositor) {
// Currently, input is only throttled on ash and is not well supported on
// other platforms. See crbug.com/41359082.
+#if BUILDFLAG(IS_CHROMEOS)
if (!Env::GetInstance()->throttle_input_on_resize() || holding_pointer_moves_)
return;
dispatcher_->HoldPointerMoves();
holding_pointer_moves_ = true;
+#endif
}
-#endif // BUILDFLAG(IS_CHROMEOS)
void WindowTreeHost::OnFrameSinksToThrottleUpdated(
const base::flat_set& ids) {
diff -Nru chromium-141.0.7390.65/ui/aura/window_tree_host.h chromium-141.0.7390.107/ui/aura/window_tree_host.h
--- chromium-141.0.7390.65/ui/aura/window_tree_host.h 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/ui/aura/window_tree_host.h 2025-10-13 21:41:26.000000000 +0000
@@ -429,10 +429,8 @@
const gfx::Point& host_location);
// Overridden from CompositorObserver:
-#if BUILDFLAG(IS_CHROMEOS)
- void OnCompositingChildResizing() final;
- void OnChildResizeActivated() final;
-#endif
+ void OnCompositingAckDeprecated(ui::Compositor* compositor) final;
+ void OnCompositingChildResizing(ui::Compositor* compositor) final;
void OnFrameSinksToThrottleUpdated(
const base::flat_set& ids) final;
void OnSetPreferredRefreshRate(ui::Compositor*,
diff -Nru chromium-141.0.7390.65/ui/aura/window_tree_host_unittest.cc chromium-141.0.7390.107/ui/aura/window_tree_host_unittest.cc
--- chromium-141.0.7390.65/ui/aura/window_tree_host_unittest.cc 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/ui/aura/window_tree_host_unittest.cc 2025-10-13 21:41:26.000000000 +0000
@@ -151,14 +151,7 @@
// Wait for a CompositorFrame to be activated.
ui::DrawWaiterForTest::WaitForCompositingEnded(host()->compositor());
- // Pointer moves should still be blocked until the child surface has
- // activated.
- EXPECT_TRUE(dispatcher_api.HoldingPointerMoves());
-
- // Signal that the child has had its resized surface activated.
- host()->compositor()->OnChildResizeActivated();
-
- // Pointer moves should be routed normally after activation.
+ // Pointer moves should be routed normally after commit.
EXPECT_FALSE(dispatcher_api.HoldingPointerMoves());
}
#endif
diff -Nru chromium-141.0.7390.65/ui/compositor/compositor.cc chromium-141.0.7390.107/ui/compositor/compositor.cc
--- chromium-141.0.7390.65/ui/compositor/compositor.cc 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/ui/compositor/compositor.cc 2025-10-13 21:41:26.000000000 +0000
@@ -397,16 +397,10 @@
}
}
-#if BUILDFLAG(IS_CHROMEOS)
void Compositor::OnChildResizing() {
- observer_list_.Notify(&CompositorObserver::OnCompositingChildResizing);
+ observer_list_.Notify(&CompositorObserver::OnCompositingChildResizing, this);
}
-void Compositor::OnChildResizeActivated() {
- observer_list_.Notify(&CompositorObserver::OnChildResizeActivated);
-}
-#endif // BUILDFLAG(IS_CHROMEOS)
-
void Compositor::ScheduleDraw() {
host_->SetNeedsCommit();
}
diff -Nru chromium-141.0.7390.65/ui/compositor/compositor.h chromium-141.0.7390.107/ui/compositor/compositor.h
--- chromium-141.0.7390.65/ui/compositor/compositor.h 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/ui/compositor/compositor.h 2025-10-13 21:41:26.000000000 +0000
@@ -183,14 +183,8 @@
mojo::AssociatedRemote
external_begin_frame_controller);
-#if BUILDFLAG(IS_CHROMEOS)
// Called when a child surface is about to resize.
void OnChildResizing();
- // Called when a child surface has activated for a resize. This occurs once
- // all dependent surfaces are available in the GPU Process. This precedes
- // drawing and presentation of the content of the surface.
- void OnChildResizeActivated();
-#endif // BUILDFLAG(IS_CHROMEOS)
// Schedules a redraw of the layer tree associated with this compositor.
void ScheduleDraw();
diff -Nru chromium-141.0.7390.65/ui/compositor/compositor_observer.h chromium-141.0.7390.107/ui/compositor/compositor_observer.h
--- chromium-141.0.7390.65/ui/compositor/compositor_observer.h 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/ui/compositor/compositor_observer.h 2025-10-13 21:41:26.000000000 +0000
@@ -53,11 +53,8 @@
// To determine when presentation occurred see `OnDidPresentCompositorFrame`.
virtual void OnCompositingAckDeprecated(Compositor* compositor) {}
-#if BUILDFLAG(IS_CHROMEOS)
// Called when a child of the compositor is resizing.
- virtual void OnCompositingChildResizing() {}
- virtual void OnChildResizeActivated() {}
-#endif // BUILDFLAG(IS_CHROMEOS)
+ virtual void OnCompositingChildResizing(Compositor* compositor) {}
#if BUILDFLAG(IS_LINUX) && BUILDFLAG(IS_OZONE_X11)
// Called when a swap with new size is completed.
diff -Nru chromium-141.0.7390.65/ui/ozone/platform/wayland/host/wayland_wp_color_management_surface.cc chromium-141.0.7390.107/ui/ozone/platform/wayland/host/wayland_wp_color_management_surface.cc
--- chromium-141.0.7390.65/ui/ozone/platform/wayland/host/wayland_wp_color_management_surface.cc 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/ui/ozone/platform/wayland/host/wayland_wp_color_management_surface.cc 2025-10-13 21:41:26.000000000 +0000
@@ -63,15 +63,10 @@
auto* color_manager = connection_->wp_color_manager();
wp_color_manager_v1_render_intent render_intent;
- if (color_manager->IsSupportedRenderIntent(
- WP_COLOR_MANAGER_V1_RENDER_INTENT_RELATIVE)) {
- render_intent = WP_COLOR_MANAGER_V1_RENDER_INTENT_RELATIVE;
- } else {
- // The protocol mandates that perceptual is always supported.
- CHECK(color_manager->IsSupportedRenderIntent(
- WP_COLOR_MANAGER_V1_RENDER_INTENT_PERCEPTUAL));
- render_intent = WP_COLOR_MANAGER_V1_RENDER_INTENT_PERCEPTUAL;
- }
+ // The protocol mandates that perceptual is always supported.
+ CHECK(color_manager->IsSupportedRenderIntent(
+ WP_COLOR_MANAGER_V1_RENDER_INTENT_PERCEPTUAL));
+ render_intent = WP_COLOR_MANAGER_V1_RENDER_INTENT_PERCEPTUAL;
wp_color_management_surface_v1_set_image_description(
management_surface_.get(), image_description->object(), render_intent);
}
diff -Nru chromium-141.0.7390.65/ui/strings/translations/ui_strings_it.xtb chromium-141.0.7390.107/ui/strings/translations/ui_strings_it.xtb
--- chromium-141.0.7390.65/ui/strings/translations/ui_strings_it.xtb 2025-10-06 20:10:46.000000000 +0000
+++ chromium-141.0.7390.107/ui/strings/translations/ui_strings_it.xtb 2025-10-13 21:41:26.000000000 +0000
@@ -155,7 +155,7 @@
{SECONDS,plural, =1{1 secondo rimanente}other{# secondi rimanenti}}
Riduci a icona
{HOURS,plural, =1{1 ora}other{# ore}}
-Estensione bloccata
+Estensione fissata
Chiudi
Pulsante centrale
BARRA SPAZIATRICE