کروم ۱۴۳

تاریخ انتشار پایدار: ۲ دسامبر ۲۰۲۵

مگر اینکه خلاف آن ذکر شده باشد، تغییرات زیر در مورد نسخه پایدار کانال کروم ۱۴۳ برای اندروید، کروم او اس، لینوکس، مک او اس و ویندوز اعمال می‌شود.

سی‌اس‌اس و رابط کاربری

کوئری‌های کانتینر پشتیبان CSS

@container anchored(fallback) ‎ را برای استایل‌دهی به فرزندان عناصر موقعیت‌یابی‌شده با anchor بر اساس اینکه کدام یک از position-try-fallbacks اعمال شده است، معرفی می‌کند.

چنین کوئری‌هایی می‌توانند برای استایل‌دهی به افسار یک عنصر لنگرگذاری شده یا انیمیشن‌های آن، بر اساس نحوه قرارگیری لنگر و عنصر لنگرگذاری شده نسبت به یکدیگر، مورد استفاده قرار گیرند.

اشکال ردیابی شماره ۴۱۷۶۲۱۲۴ | ورودی ChromeStatus.com | مشخصات

سینتکس نسبی جانبی برای نوشته‌های طولانی background-position-x/y

موقعیت تصویر پس زمینه را نسبت به یکی از لبه‌های آن تعریف می‌کند.

این سینتکس، به جای استفاده از مقادیر ثابت که باید با اندازه پنجره یا قاب تطبیق داده شوند، مکانیزم انعطاف‌پذیرتر و واکنش‌گراتری برای تعریف موقعیت تصویر پس‌زمینه ارائه می‌دهد.

این ویژگی همچنین برای ویژگی -webkit-mask-position اعمال می‌شود تا از یکسان بودن سطوح webcompat اطمینان حاصل شود.

اشکال ردیابی شماره ۴۰۴۶۸۶۳۶ | ورودی ChromeStatus.com | مشخصات

پیاده‌سازی ویژگی CSS font-language-override

پشتیبانی از ویژگی font-language-override در CSS را معرفی می‌کند. این ویژگی به توسعه‌دهندگان اجازه می‌دهد تا با مشخص کردن یک تگ زبان چهار کاراکتری به طور مستقیم در CSS، زبان سیستم مورد استفاده برای جایگزینی حروف OpenType را لغو کنند.

این امر امکان کنترل دقیق تایپوگرافی را فراهم می‌کند، که به ویژه برای محتوای چندزبانه یا فونت‌هایی با انواع حروف خاص مربوط به زبان مفید است.

اشکال ردیابی شماره ۴۱۱۷۰۵۵۱ | ورودی ChromeStatus.com | مشخصات

مانیفست برنامه وب: واجد شرایط بودن به‌روزرسانی را مشخص کنید

الگوریتم واجد شرایط بودن به‌روزرسانی را در مشخصات مانیفست مشخص کنید. این کار فرآیند به‌روزرسانی را قطعی‌تر و قابل پیش‌بینی‌تر می‌کند و به توسعه‌دهنده کنترل بیشتری بر روی اینکه آیا (و چه زمانی) به‌روزرسانی‌ها باید برای نصب‌های موجود اعمال شوند، می‌دهد و امکان حذف کنترل بررسی به‌روزرسانی را که در حال حاضر برای جلوگیری از هدر رفتن منابع شبکه به کارگزارهای کاربر نیاز است، فراهم می‌کند.

اشکال ردیابی شماره ۴۰۳۲۵۳۱۲۹ | ورودی ChromeStatus.com

دستگاه

ویژگی‌های کنترل‌کننده‌ی رویداد ongamepadconnected و ongamepaddisconnected در گیم‌پد

کنترل‌کننده‌های رویداد ongamepadconnected و ongamepaddisconnected را به ترکیب رابط WindowEventHandlers اضافه می‌کند.

این امکان پشتیبانی از ویژگی‌های کنترل‌کننده رویداد زیر را فراهم می‌کند:

  • window.ongamepadconnected
  • document.body.ongamepadconnected
  • window.ongamepaddisconnected
  • document.body.ongamepaddisconnected

اشکال ردیابی شماره ۴۰۱۷۵۰۷۴ | ورودی ChromeStatus.com | مشخصات

دام

اجازه دادن به کاراکترهای بیشتر در API های DOM جاوا اسکریپت

تجزیه‌گر HTML به عناصر و ویژگی‌ها اجازه می‌دهد تا طیف گسترده‌ای از کاراکترها و نام‌های معتبر را داشته باشند، اما APIهای DOM جاوا اسکریپت برای ایجاد عناصر و ویژگی‌های مشابه، سختگیرانه‌تر هستند و با تجزیه‌گر مطابقت ندارند.

این تغییر، اعتبارسنجی APIهای DOM جاوا اسکریپت را برای مطابقت با تجزیه‌گر HTML تسهیل می‌کند.

اشکال ردیابی شماره ۴۰۲۲۸۲۳۴ | ورودی ChromeStatus.com | مشخصات

گرافیک

WebGPU: سوویزل کامپوننت بافت

به GPUTextureViews اجازه می‌دهد تا اجزای رنگی کانال‌های قرمز/سبز/آبی/آلفا بافت را هنگام دسترسی توسط یک سایه‌زن، دوباره مرتب یا جایگزین کند.

اشکال ردیابی شماره ۴۱۴۳۱۲۰۵۲ | ورودی ChromeStatus.com | مشخصات

جاوا اسکریپت

ICU 77 (پشتیبانی از یونیکد ۱۶)

کتابخانه پشتیبانی یونیکد ICU (مؤلفه‌های بین‌المللی برای یونیکد) از نسخه ۷۴.۲ به ۷۷.۱ ارتقا یافته است و پشتیبانی از یونیکد ۱۶ و به‌روزرسانی داده‌های محلی را اضافه می‌کند. دو تغییر می‌تواند برای برنامه‌های وب که فرمت خاصی از APIهای بین‌المللی JS را فرض می‌کنند، خطراتی ایجاد کند:

  1. قالب‌بندی پیش‌فرض اعداد ایتالیایی تغییر کرده و جداکننده هزارگان برای اعداد ۴ رقمی حذف شده است. برای مثال new Intl.NumberFormat("it").format(1234) به جای ۱.۲۳۴، ۱۲۳۴ را برمی‌گرداند. رفتار قدیمی را می‌توان با پارامتر useGrouping برای سازنده Intl.NumberFormat به دست آورد.
  2. در برخی از زبان‌های انگلیسی ( en-AU ، en-GB و en-IN )، یک ویرگول بعد از روزهای هفته با طول کامل اضافه شده است، برای مثال، شنبه 30 آوریل 2011 به شنبه، 30 آوریل 2011 تغییر یافته است. برنامه‌های وب باید از تکیه بر قالب‌بندی دقیق تاریخ‌ها خودداری کنند و ممکن است در آینده دوباره تغییر کنند.

اشکال ردیابی شماره ۴۲۱۸۳۴۸۸۵ | ورودی ChromeStatus.com | مشخصات

EditContext: TextFormat underlineStyle و underlineThickness

رابط برنامه‌نویسی کاربردی EditContext با یک اشکال در کروم عرضه شد که در آن شیء TextFormat که توسط رویداد textformatupdate ارائه می‌شود، مقادیر نادرستی را برای ویژگی‌های underlineStyle و underlineThickness ارائه می‌دهد. قبل از کروم ۱۴۳، مقادیر ممکن None ، Solid ، Dotted ، Dashed ، Squiggle و None ، Thin ، Thick بودند. با این حال، مشخصات، none ، solid ، dotted ، dashed ، wavy و none ، thin ، thick را فهرست می‌کند.

مقادیر صحیح مشخص شده اکنون از Chrome 143 پیاده‌سازی شده‌اند.

اشکال ردیابی شماره ۳۵۴۴۹۷۱۲۱ | ورودی ChromeStatus.com | مشخصات

ویژگی DataTransfer برای رویدادهای ورودی insertFromPaste ، insertFromDrop و insertReplacementText

ویژگی dataTransfer را در رویدادهای ورودی با inputType از insertFromPaste ، insertFromDrop و insertReplacementText پر کنید تا دسترسی به داده‌های کلیپ‌بورد و کشیدن و رها کردن را در حین عملیات ویرایش در عناصر contenteditable فراهم کنید.

شیء dataTransfer حاوی همان داده‌هایی است که در طول رویداد beforeinput در دسترس بودند.

این ویژگی فقط برای عناصر قابل ویرایش اعمال می‌شود. برای کنترل‌های فرم (textarea، input)، رفتار بدون تغییر باقی می‌ماند - ویژگی data شامل متن درج شده است و dataTransfer تهی باقی می‌ماند.

اشکال ردیابی شماره ۴۰۱۵۹۳۴۱۲ | ورودی ChromeStatus.com | مشخصات

FedCM: پشتیبانی از پاسخ‌های ساختاریافته JSON از IdPها

به ارائه‌دهندگان هویت (IdPها) اجازه می‌دهد تا با استفاده از id_assertion_endpoint ، اشیاء JSON ساختاریافته را به جای رشته‌های ساده به طرفین اتکا (RPها) برگردانند.

این تغییر با حذف نیاز به سریال‌سازی و تجزیه دستی رشته‌های JSON، ادغام را برای توسعه‌دهندگان ساده می‌کند. این امر جریان‌های احراز هویت پویاتر و انعطاف‌پذیرتری را فعال می‌کند و به RPها اجازه می‌دهد تا پاسخ‌های پیچیده را مستقیماً تفسیر کنند و از پروتکل‌های متنوعی مانند OAuth2، OIDC یا IndieAuth بدون توافق‌نامه‌های خارج از باند پشتیبانی کنند.

اشکال ردیابی شماره ۳۴۶۵۶۷۱۶۸ | ورودی ChromeStatus.com | مشخصات

شبکه

مذاکره پروتکل برنامه کاربردی WebTransport

مذاکره پروتکل برنامه WebTransport امکان مذاکره در مورد پروتکل مورد استفاده توسط برنامه وب را در داخل WebTransport handshake فراهم می‌کند.

یک برنامه وب می‌تواند فهرستی از پروتکل‌های برنامه ارائه شده هنگام ساخت یک شیء WebTransport را مشخص کند که سپس با استفاده از هدرهای HTTP به سرور منتقل می‌شوند؛ اگر سرور یکی از آن پروتکل‌ها را انتخاب کند، می‌تواند آن را در هدرهای پاسخ نشان دهد و آن پاسخ در شیء WebTransport موجود است.

اشکال ردیابی شماره ۴۱۶۰۸۰۴۹۲ | ورودی ChromeStatus.com | مشخصات

عملکرد

قوانین حدس و گمان: بهبود eager مشتاقان موبایل

در موبایل، قوانین حدس و گمان اشتیاق eager ، اکنون زمانی که عناصر لنگر HTML برای مدت کوتاهی در نمای دید قرار دارند، پیش‌واکشی‌ها و پیش‌رندرها را فعال می‌کنند.

اشکال ردیابی شماره ۴۳۶۷۰۵۴۸۵ | ورودی ChromeStatus.com | مشخصات

وب‌آرتی‌سی

تغییر رفتار افزونه هدر WebRTC RTP

تغییری در مشخصات اعمال می‌کند که تضمین می‌کند پیشنهاد یا پاسخ بعدی، پسوندهای هدر مورد مذاکره را تغییر نمی‌دهد، مگر اینکه کاربر بخواهد این اتفاق بیفتد.

اشکال ردیابی شماره ۴۳۹۵۱۴۲۵۳ | ورودی ChromeStatus.com | مشخصات

برنامه‌های وب ایزوله

API کارت هوشمند وب برای برنامه‌های وب ایزوله

فقط در برنامه‌های وب ایزوله (IWA) موجود است. برنامه‌های کارت هوشمند (PC/SC) را قادر می‌سازد تا به پلتفرم وب منتقل شوند. این به آنها امکان دسترسی به پیاده‌سازی PC/SC (و درایورهای کارتخوان) موجود در سیستم عامل میزبان را می‌دهد.

مدیران می‌توانند دسترسی به این API را به یکی از روش‌های زیر کنترل کنند:

  • به صورت سراسری—با استفاده از سیاست DefaultSmartCardConnectSetting .
  • به ازای هر برنامه—با استفاده از سیاست‌های SmartCardConnectAllowedForUrls و SmartCardConnectBlockedForUrls .

اشکال ردیابی شماره ۱۳۸۶۱۷۵ | ورودی ChromeStatus.com | مشخصات

آزمایش‌های مبدا

API اعتبارنامه‌های دیجیتال (پشتیبانی از صدور)

این ویژگی به وب‌سایت‌های صادرکننده (مثلاً دانشگاه، سازمان دولتی یا بانک) اجازه می‌دهد تا فرآیند تأمین (صدور) اعتبارنامه‌های دیجیتال را به‌طور ایمن مستقیماً در برنامه کیف پول موبایل کاربر آغاز کنند. در اندروید، این قابلیت از سیستم Android IdentityCredential CredMan (مدیریت اعتبارنامه) استفاده می‌کند. در دسکتاپ، از رویکردهای بین دستگاهی با استفاده از پروتکل CTAP مشابه ارائه اعتبارنامه‌های دیجیتال استفاده می‌کند.

نسخه آزمایشی Origin | باگ ردیابی شماره ۳۷۸۳۳۰۳۲ | ورودی ChromeStatus.com | مشخصات

API نصب وب

امکان نصب یک برنامه وب را فراهم می‌کند. هنگام فراخوانی، وب‌سایت یا خودش یا سایت دیگری از یک منبع متفاوت را به عنوان یک برنامه وب نصب می‌کند (بسته به پارامترهای ارائه شده).

نسخه آزمایشی Origin | باگ ردیابی شماره ۳۳۳۷۹۵۲۶۵ | ورودی ChromeStatus.com | مشخصات

منسوخ‌ها و حذف‌ها

منسوخ کردن XSLT

XSLT نسخه ۱.۰ که همه مرورگرها از آن پیروی می‌کنند، در سال ۱۹۹۹ استانداردسازی شد. در این میان، XSLT به نسخه‌های ۲.۰ و ۳.۰ تکامل یافته، ویژگی‌هایی به آن اضافه شده و از نسخه‌ای که در مرورگرها ثابت مانده بود، جدا شده است. این عدم پیشرفت، همراه با ظهور کتابخانه‌ها و چارچوب‌های جاوا اسکریپت که دستکاری DOM انعطاف‌پذیرتر و قدرتمندتری را ارائه می‌دهند، منجر به کاهش قابل توجه استفاده از XSLT سمت کلاینت شده است. نقش آن در مرورگر وب تا حد زیادی توسط فناوری‌های مبتنی بر جاوا اسکریپت مانند JSON و React جایگزین شده است.

کرومیوم از کتابخانه libxslt برای پردازش این تبدیلات استفاده می‌کند و libxslt حدود ۶ ماه از سال ۲۰۲۵ بدون پشتیبانی بود. Libxslt یک کدبیس C پیچیده و قدیمی از نوع C است که به شدت مستعد آسیب‌پذیری‌های ایمنی حافظه مانند سرریز بافر است که می‌تواند منجر به اجرای کد دلخواه شود. از آنجا که XSLT سمت کلاینت اکنون یک ویژگی خاص و به ندرت استفاده شده است، این کتابخانه‌ها نسبت به موتورهای اصلی جاوا اسکریپت، نگهداری و بررسی امنیتی بسیار کمتری دریافت می‌کنند، با این حال آنها یک سطح حمله مستقیم و قوی برای پردازش محتوای وب غیرقابل اعتماد هستند. در واقع، XSLT منبع چندین سوءاستفاده امنیتی اخیر است که همچنان کاربران مرورگر را در معرض خطر قرار می‌دهد. به همین دلایل، کرومیوم (همراه با هر دو موتور مرورگر دیگر) قصد دارد XSLT را از پلتفرم وب منسوخ و حذف کند. برای جزئیات بیشتر، برای یک مرورگر امن‌تر، به حذف XSLT مراجعه کنید.

ورودی ChromeStatus.com

منسوخ کردن دریافت‌کننده‌های اطلاعات محلی بین‌المللی

رابط برنامه‌نویسی کاربردی اطلاعات محلی بین‌المللی (Intl Locale Info API) یک پیشنهاد ECMAScript TC39 مرحله ۳ برای بهبود شیء Intl.Locale با نمایش اطلاعات محلی، مانند داده‌های هفته (اولین روز در هفته، روز شروع آخر هفته، روز پایان آخر هفته، حداقل روز در هفته اول) و چرخه ساعت جهت متن مورد استفاده در محلی است.

تغییرات در مرحله ۳ مشخصات، چندین getter را به توابع منتقل می‌کند. این موارد اکنون در کروم به‌روزرسانی می‌شوند تا با مشخصات مطابقت داشته باشند.

اشکال ردیابی شماره ۴۲۲۰۳۷۷۰ | ورودی ChromeStatus.com | مشخصات

اجرای حریم خصوصی FedCM برای فراداده‌های مشتری

برای رفع خطرات همبستگی هویت بین سایتی در API FedCM، ارائه دهندگان هویت (IdP) که از client_metadata در پیکربندی FedCM خود استفاده می‌کنند، ملزم به پیاده‌سازی قالب نقاط انتهایی مستقیم در فایل .well-known/web-identity هستند. این الزام تضمین می‌کند که هر زمان که یک client_metadata_endpoint وجود دارد، accounts_endpoint و login_url به صراحت تعریف شوند. این رویکرد با جلوگیری از سوءاستفاده طرف‌های وابسته از ابرداده برای مرتبط کردن هویت کاربران در چندین سایت، محافظت از حریم خصوصی را تقویت می‌کند.

در کروم ۱۴۳ (مرحله هشدار): اگر client_metadata_endpoint وجود داشته باشد اما accounts_endpoint یا login_url وجود نداشته باشند، مرورگر هشدارهای کنسول را نمایش می‌دهد. این به IdPها زمان می‌دهد تا پیکربندی‌ها را به‌روزرسانی کنند.

ورودی ChromeStatus.com | مشخصات

FedCM - انتقال nonce به فیلد params و تغییر نام ویژگی code IdentityCredentialError به error

انتقال nonce به فیلد params: پارامتر nonce در navigator.credentials.get() از یک فیلد سطح بالا به شیء params منتقل می‌شود تا طراحی، توسعه‌پذیری و قابلیت نگهداری API بهتر شود. این رویکرد ساختاریافته، تجزیه و تحلیل را برای ارائه‌دهندگان هویت ساده می‌کند، از مقاوم‌سازی در برابر آینده بدون نسخه‌بندی پشتیبانی می‌کند و با الگوهای API مدرن همسو است. برای طرفین وابسته، تأثیر حداقل است - آنها همان مقدار nonce را در یک مکان جدید ارائه می‌دهند.

در کروم ۱۴۳ (مرحله هشدار): nonce هم در پارامترهای سطح بالا و هم در پارامترهای داخلی پذیرفته می‌شود. استفاده از سطح بالا باعث ایجاد هشدار در کنسول می‌شود.

تغییر نام کد به error در IdentityCredentialError : ویژگی code در IdentityCredentialError برای معنای واضح‌تر، تجربه بهتر توسعه‌دهنده و همسویی با استانداردهای وب به error تغییر نام داده شده است. این تغییر ابهام را کاهش می‌دهد و از تداخل با DOMException.code جلوگیری می‌کند. علاوه بر این، error.code با حفظ نوع DOMString خود، به error.error تبدیل می‌شود.

در کروم ۱۴۳ (مرحله هشدار): هم ویژگی‌های error و هم code پشتیبانی می‌شوند. استفاده از code باعث ایجاد هشدار در کنسول می‌شود و توسعه‌دهندگان را به مهاجرت راهنمایی می‌کند.

اشکال ردیابی شماره ۴۲۷۴۷۴۹۸۵ | ورودی ChromeStatus.com | مشخصات