کروم 142 بتا

منتشر شده: ۱ اکتبر ۲۰۲۵

مگر اینکه خلاف آن ذکر شده باشد، این تغییرات برای نسخه بتای کروم ۱۴۲ برای اندروید، کروم او اس، لینوکس، مک او اس و ویندوز اعمال می‌شود. برای کسب اطلاعات بیشتر در مورد این ویژگی‌ها، به لینک‌های ارائه شده یا ChromeStatus.com مراجعه کنید. نسخه بتای کروم ۱۴۲ را از Google.com برای دسکتاپ یا فروشگاه گوگل پلی برای اندروید دانلود کنید.

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

شبه کلاس‌های :target-before و :target-after

این شبه‌کلاس‌ها نشانگرهای پیمایشی را که قبل یا بعد از نشانگر فعال (مطابق با :target-current ) در همان گروه نشانگر پیمایش قرار دارند، مطابق با ترتیب درخت مسطح، تطبیق می‌دهند:

  • :target-before : با تمام نشانگرهای پیمایش که قبل از نشانگر فعال در ترتیب درخت مسطح درون گروه قرار دارند، مطابقت دارد.
  • :target-after : با تمام نشانگرهای پیمایش که نشانگر فعال را در ترتیب درخت مسطح درون گروه دنبال می‌کنند، مطابقت دارد.

موقعیت‌یابی مطلق برای عنصر ::view-transition

انتقال‌های ویو از یک زیردرخت کاذب از عنصر استفاده می‌کنند که ::view-transition ریشه آن انتقال است. پیش از این، عنصر ::view-transition طوری تعریف شده بود که position: fixed داشته باشد. گروه کاری CSS تصمیم گرفت که این position: absolute کند و بنابراین کروم اکنون این تغییر را منعکس می‌کند.

این تغییر نباید قابل توجه باشد زیرا بلوک حاوی این عنصر، چه در حالت مطلق و چه در حالت ثابت، بلوک حاوی snapshot باقی می‌ماند. تنها تفاوت قابل توجه در getComputedStyle است.

ویژگی activeViewTransition روی سند

رابط برنامه‌نویسی کاربردی View Transitions به توسعه‌دهندگان اجازه می‌دهد تا گذارهای بصری را بین حالت‌های مختلف آغاز کنند. نقطه ورودی اصلی SPA، startViewTransition() است که یک شیء گذار را برمی‌گرداند. این شیء شامل چندین promise و قابلیت برای ردیابی پیشرفت گذار است و به شما امکان می‌دهد گذارها را دستکاری کنید، به عنوان مثال، با رد کردن گذار یا تغییر انواع آن.

از کروم ۱۴۲ به بعد، توسعه‌دهندگان دیگر نیازی به ذخیره این شیء ندارند. ویژگی document.activeViewTransition نشان‌دهنده‌ی این شیء است، یا اگر هیچ انتقالی در حال انجام نباشد، null .

این موضوع در مورد انتقال‌های MPA نیز صدق می‌کند، جایی که شیء فقط از طریق رویدادهای pageswap و pagereveal در دسترس است. در این به‌روزرسانی، document.activeViewTransition برای مدت زمان انتقال روی این شیء تنظیم شده است.

سینتکس محدوده برای کوئری‌های مربوط به کانتینر استایل و if()

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

این قابلیت، کوئری‌های استایل را فراتر از تطبیق دقیق مقدار (برای مثال، style(--theme: dark) ) گسترش می‌دهد. توسعه‌دهندگان می‌توانند از عملگرهای مقایسه‌ای (مانند > و < ) برای مقایسه ویژگی‌های سفارشی، مقادیر تحت‌اللفظی (برای مثال، 10px یا 25%) و مقادیر توابع جایگزینی مانند attr() و env() استفاده کنند. برای یک مقایسه معتبر، هر دو طرف باید به یک نوع داده مشابه برسند. این قابلیت به انواع عددی زیر محدود می‌شود: <length> ، <number> ، <percentage> ، <angle> ، <time> ، <frequency> و <resolution> .

مثال‌ها:

یک ویژگی سفارشی را با طول تحت‌اللفظی مقایسه کنید:

@container style(--inner-padding > 1em) {
  .card {
    border: 2px solid;
  }
}

مقایسه دو مقدار تحت‌اللفظی

@container style(1em < 20px) {
  /* ... */
}

استفاده از محدوده‌های استایل در if() :

.item-grid {
  background-color: if(style(attr(data-columns, type<number>) > 2): lightblue; else: white);
}

فراخوانی‌کننده‌های Interest (ویژگی interestfor )

کروم یک ویژگی interestfor به عناصر <button> و <a> اضافه می‌کند. این ویژگی رفتارهای "علاقه" را به عنصر اضافه می‌کند. وقتی کاربر به عنصر "علاقه نشان می‌دهد"، اقداماتی روی عنصر هدف انجام می‌شود، به عنوان مثال، نمایش یک popover. عامل کاربر از طریق روش‌هایی مانند نگه داشتن اشاره‌گر روی عنصر، فشردن کلیدهای میانبر ویژه روی صفحه کلید یا فشار دادن طولانی مدت عنصر در صفحه‌های لمسی، تشخیص می‌دهد که کاربر به عنصر "علاقه نشان می‌دهد". وقتی علاقه نشان داده می‌شود یا از بین می‌رود، یک InterestEvent روی هدف اجرا می‌شود که اقدامات پیش‌فرض برای popoverها، مانند نمایش و پنهان کردن popover، دارد.

ویژگی font-language-override

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

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

ویژگی download در عنصر <a> در SVG

کروم پشتیبانی از ویژگی download را در رابط SVGAElement معرفی می‌کند که با مشخصات SVG 2 همسو است. ویژگی download به نویسندگان اجازه می‌دهد تا مشخص کنند که به جای پیمایش به یک لینک SVG، آن را دانلود می‌کند. این ویژگی، رفتاری را که قبلاً در HTMLAnchorElement پشتیبانی می‌شد، منعکس می‌کند. این ویژگی، قابلیت همکاری را در مرورگرهای اصلی ارتقا می‌دهد و رفتار سازگار بین عناصر HTML و <a> SVG را تضمین می‌کند و تجربه توسعه‌دهنده و انتظارات کاربر را بهبود می‌بخشد.

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

با استفاده از ویژگی‌های size و multiple ، عنصر <select> می‌تواند به صورت یک لیست‌باکس درون‌صفحه‌ای یا یک دکمه با یک پنجره بازشو رندر شود. با این حال، این حالت‌ها در کروم موبایل و دسکتاپ به طور مداوم در دسترس نیستند. رندر لیست‌باکس درون‌صفحه‌ای در موبایل در دسترس نیست و یک دکمه با یک پنجره بازشو در دسکتاپ در صورت وجود ویژگی multiple در دسترس نیست.

این به‌روزرسانی، لیست‌باکس را به موبایل و یک پنجره‌ی پاپ‌آپ با قابلیت انتخاب چندگانه را به دسکتاپ اضافه می‌کند و تضمین می‌کند که گزینه‌های انتخابی با size و ویژگی‌های multiple ، در حالت رندر یکسانی در موبایل و دسکتاپ نمایش داده شوند. تغییرات به شرح زیر خلاصه می‌شوند:

  • وقتی ویژگی size مقداری بزرگتر از 1 داشته باشد، همیشه از رندر درون صفحه استفاده می‌شود. دستگاه‌های تلفن همراه قبلاً این مورد را نادیده می‌گرفتند.
  • وقتی ویژگی multiple بدون ویژگی size تنظیم شود، از رندرینگ درون صفحه استفاده می‌شود. دستگاه‌های تلفن همراه قبلاً به جای لیست‌باکس درون صفحه‌ای از یک پنجره بازشو (popup) استفاده می‌کردند.
  • وقتی ویژگی multiple با size=1 تنظیم شود، از یک پنجره بازشو استفاده می‌شود. دستگاه‌های رومیزی قبلاً از یک لیست‌باکس درون‌صفحه‌ای استفاده می‌کردند.

فعال‌سازی چسبنده کاربر در ناوبری‌های آغاز شده توسط رندرکننده‌های هم‌مبنا

کروم حالت فعال‌سازی کاربر ثابت را پس از پیمایش یک صفحه به صفحه‌ای دیگر با همان مبدأ حفظ می‌کند. عدم فعال‌سازی کاربر در صفحه پس از پیمایش، مانع از برخی موارد استفاده، به عنوان مثال، نمایش صفحه‌کلیدهای مجازی در حالت فوکوس خودکار می‌شود. این امر مانع از توسعه‌دهندگانی شده است که می‌خواهند MPAها را روی SPAها بسازند.

این شامل درخواست‌های ناوبری آغاز شده توسط مرورگر (بارگیری مجدد، پیمایش تاریخچه، تایپ URL در نوار آدرس و غیره) نمی‌شود.

API های وب

WebGPU: ویژگی primitive_index

WebGPU یک قابلیت اختیاری جدید اضافه می‌کند که یک سایه‌زن WGSL جدید به primitive_index را در معرض نمایش قرار می‌دهد. این قابلیت، مشابه vertex_index و instance_index داخلی، یک شاخص per-primitive برای قطعه قطعه کردن سایه‌زن‌ها روی سخت‌افزار پشتیبانی‌شده فراهم می‌کند. این شاخص اولیه برای تکنیک‌های گرافیکی پیشرفته، مانند هندسه مجازی، مفید است.

WebGPU: قالب‌های بافتی tier1 و tier2

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

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

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

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

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

این ویژگی باعث می‌شود کروم با سافاری و فایرفاکس سازگار باشد.

جلسه رسانه‌ای: دلیل اضافه کردن به جزئیات اقدام enterpictureinpicture

enterPictureInPictureReason به MediaSessionActionDetails ارسال شده به اکشن enterpictureinpicture در Media Session API اضافه می‌کند. این به توسعه‌دهندگان اجازه می‌دهد بین اکشن‌های enterpictureinpicture که به طور صریح توسط کاربر (به عنوان مثال، از یک دکمه در عامل کاربر) و اکشن‌های enterpictureinpicture که به طور خودکار توسط عامل کاربر به دلیل مسدود شدن محتوا فعال می‌شوند، تمایز قائل شوند.

سوگیری متنی API گفتار وب

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

توسعه‌دهندگان می‌توانند فهرستی از عبارات را ارائه دهند و آن‌ها را به‌روزرسانی کنند تا مدل‌های تشخیص گفتار را به نفع آن عبارات تنظیم کنند. این کار به بهبود دقت و ارتباط تشخیص گفتار مختص دامنه و شخصی‌سازی‌شده کمک می‌کند.

اعتبارسنجی دقیق‌تر توکن MIME *+json برای ماژول‌های JSON

پاسخ‌های اسکریپت ماژول JSON که نوع یا زیرنوع نوع MIME آنها حاوی نقاط کد توکن غیر HTTP (به عنوان مثال، فاصله) است را هنگام مطابقت با *+json رد کنید. این با مشخصات MIME Sniffing و سایر موتورها همسو است. این بخشی از حوزه تمرکز ماژول‌های Interop2025 است.

FedCM - پشتیبانی از نمایش مبدا iframe های شخص ثالث در رابط کاربری

قبل از کروم ۱۴۲، FedCM همیشه سایت سطح بالا را در رابط کاربری خود نشان می‌داد.

این روش زمانی خوب عمل می‌کند که iframe از نظر مفهومی شخص اول باشد (برای مثال، foo.com ممکن است یک iframe به نام foostatic.com داشته باشد که برای کاربر معنی‌دار نیست).

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

جداسازی فرآیند با کلید مبدا

سیاست جداسازی فرآیند را از قفل کردن فرآیندها به یک سایت (مثلاً example.com ) به قفل کردن آنها به یک مبدا خاص (مثلاً foo.example.com ) تغییر می‌دهد.

برای افزایش بیشتر امنیت، کروم در حال گذار به یک مدل جداسازی فرآیند جزئی‌تر به نام «ایزولاسیون مبدا» است. کروم از «ایزولاسیون سایت» استفاده می‌کرد که مبداهای مختلف از یک سایت، مثلاً a.example.com و b.example.com را در یک فرآیند رندر واحد گروه‌بندی می‌کرد.

با جداسازی مبدا، هر مبدا (مانند https://foo.example.com ) در فرآیند رندر خود ایزوله می‌شود. این قابلیت با همسو کردن مرزهای فرآیند با مدل امنیتی مبتنی بر مبدا وب، معماری امنیتی کروم را تقویت می‌کند و محافظت بیشتری در برابر آسیب‌پذیری‌های احتمالی در سایت‌ها ارائه می‌دهد.

رویدادهای pointerrawupdate که قابلیت تعامل دارند، فقط در زمینه‌های امن نمایش داده می‌شوند.

مشخصات PointerEvents در سال ۲۰۲۰، pointerrawupdate به زمینه‌های امن محدود کرد و هم اجرای رویداد و هم شنونده‌های رویداد سراسری را از زمینه‌های ناامن پنهان کرد. با این به‌روزرسانی، کروم با مشخصات به‌روز شده مطابقت پیدا می‌کند و با سایر مرورگرهای اصلی سازگار می‌شود.

آزمایش‌های مبدا در حال انجام است

در کروم ۱۴۲ می‌توانید در آزمایش‌های جدید زیر شرکت کنید.

اعتبارنامه‌های جلسه متصل به دستگاه

راهی برای وب‌سایت‌ها تا بتوانند یک جلسه (session) را به طور ایمن به یک دستگاه واحد متصل کنند.

این به سرورها اجازه می‌دهد تا یک جلسه را به طور ایمن به یک دستگاه متصل کنند. مرورگر در صورت درخواست سرور، جلسه را به صورت دوره‌ای با اثبات داشتن کلید خصوصی، تمدید می‌کند.

مخزن سوکت TCP به ازای هر سایت سطح بالا

این آزمایش تأثیر تغییر اندازه مخزن سوکت TCP به ازای هر پروفایل از ۲۵۶ (پیش‌فرض) به ۵۱۳ را ارزیابی می‌کند، در حالی که محدودیت ۲۵۶ برای هر سایت سطح بالا (برای اطمینان از اینکه هیچ دو تبی نتوانند مخزن را تمام کنند) را اضافه می‌کند. امکان‌سنجی افزایش محدودیت ۲۵۶ برای هر پروفایل به ۵۱۲ مورد مطالعه قرار گرفت و نتایج منفی نداشت. محدودیت ۲۵۶ برای هر سایت سطح بالا برابر با محدودیت پیش‌فرض برای هر پروفایل است، بنابراین نباید تأثیر منفی بر عملکرد داشته باشد. این محدودیت‌ها به طور مستقل برای مخزن WebSocket و مخزن سوکت معمولی (HTTP) اعمال می‌شوند.

هدف این است که در صورت عدم بروز اثرات منفی، این آزمایش مستقیماً آغاز شود.