نسخه بتای کروم ۱۵۴

منتشر شده: ۲ سپتامبر ۲۰۲۶

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

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

حالت‌های scroll-marker-group CSS

ویژگی scroll-marker-group برای پشتیبانی از حالت‌های زیر بهبود یافته است:

  • links : ::scroll-marker-group در حالت links عمل می‌کند و مانند یک لیست ناوبری عمل می‌کند. در صورت حذف، این حالت پیش‌فرض است.
  • tabs : ::scroll-marker-group در حالت tabs عمل می‌کند و مانند یک فهرست برگه‌ها عمل می‌کند.

هر حالت، ترتیب فوکوس و رفتار دسترسی‌پذیری ::scroll-marker-group و ::scroll-marker را با پیروی از الگوهای WAI-ARIA تغییر می‌دهد:

  • حالت پیوندها (پیش‌فرض) : از نشانه‌های استاندارد ناوبری همراه با لنگرهای قطعه تقلید می‌کند. ::scroll-marker-group نقش navigation و عناصر ::scroll-marker نقش link را بر عهده می‌گیرند. همه عناصر ::scroll-marker ایستگاه‌های تب متوالی هستند. وقتی یک نشانگر پیوند فعال می‌شود، فوکوس به عنصر هدف منتقل می‌شود.
  • حالت تب‌ها : الگوی تب‌ها را تکرار می‌کند و به عنوان پایه و اساس چرخ فلک‌های تب‌بندی شده عمل می‌کند. به ::scroll-marker-group نقش tablist اختصاص داده شده است، عناصر ::scroll-marker به عنوان نقش‌های tab عمل می‌کنند و عناصر اصلی نقش tabpanel را دریافت می‌کنند. فقط ::scroll-marker فعال به عنوان یک tab stop عمل می‌کند و با استفاده از کلیدهای جهت‌نما بین نشانگرها حرکت می‌کند. محتوای تب‌های غیرفعال از درخت دسترسی پنهان است.

text-decoration-inset در CSS

ویژگی text-decoration-inset در CSS، میزان فاصله‌ی زیرخط‌ها، روی‌خط‌ها و تزئینات خطی از لبه‌های متن یا امتداد آن‌ها را کنترل می‌کند. این ویژگی از مقادیر auto ، طول و درصد، از جمله سینتکس تک‌مقداری و دو‌مقداری برای تنظیم فاصله‌های شروع و پایان پشتیبانی می‌کند. این ویژگی به توسعه‌دهندگان اجازه می‌دهد تا فاصله‌ی تزئینات را تنظیم کرده و جلوه‌های آشکار را با تزئینات متن اصلی به جای گرادیان‌های پس‌زمینه یا عناصر اضافی ایجاد کنند.

CSS text-decoration-skip-spaces

ویژگی CSS مربوط به text-decoration-skip-spaces کنترل می‌کند که آیا خطوط تزئینی متن (مانند زیرخط، روی خط و خطوط میانی) از روی کاراکترهای فضای خالی عبور کنند یا خیر. این به شما امکان می‌دهد از ترسیم تزئینات زیر فاصله‌ها جلوگیری کنید.

سلسله مراتب CSSStyleValue را به زمینه‌های Worker ارائه دهید

مشخصات CSS Typed OM سلسله مراتب CSSStyleValue را در معرض دامنه‌های سراسری worker قرار می‌دهد ( [Exposed=(Window, Worker, PaintWorklet, LayoutWorklet)] )، اما Blink قبلاً فقط CSSStyleValue ، CSSKeywordValue ، CSSNumericValue ، CSSUnitValue و CSSUnparsedValue را در Window و workletها قرار می‌داد. در نتیجه، این سازنده‌ها در زمینه‌های Worker تعریف نشده بودند. Chrome 154 این سازنده‌ها را در workerها نمایش می‌دهد و با مشخصات و سایر موتورهای مرورگر هماهنگ می‌شود.

ویژگی width FontFace و توصیفگر font-width

ویژگی width را در FontFace و توصیفگر font-width @font-face را به عنوان نام مستعار برای stretch و font-stretch نمایش می‌دهد. این کار Chromium را با مشخصات به‌روزرسانی‌شده CSS Font Loading و CSS Fonts 4 همسو می‌کند. می‌توانید عرض‌های font-face را با استفاده از FontFace.width و CSS font-width به جای stretch و font-stretch بررسی یا مقداردهی اولیه کنید.

بهبودهای رد کردن سبک برای پنجره‌های بازشو و پنجره‌های محاوره‌ای

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

مرورگر اکنون به جای ترکیبی از رویدادهای pointerdown و pointerup از رویدادهای click برای فعال کردن light dismiss استفاده می‌کند.

<iframe> با اندازه واکنش‌گرا

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

جاوا اسکریپت

تکرارکننده includes

یک پیشنهاد TC39 که یک متد includes() به تکرارکننده‌ها اضافه می‌کند و به شما امکان می‌دهد بررسی کنید که آیا یک تکرارکننده مقدار مشخصی را برمی‌گرداند یا خیر، مشابه Array.prototype.includes() .

API های وب

افزودن گزینه‌ها به سازنده‌ی WebSocket

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

قبلاً، این به این صورت نوشته می‌شد:

const socket = new WebSocket("wss://example.com:8080", "soap");

با این تغییر، می‌توان آن را به صورت زیر نیز نوشت:

const socket = new WebSocket("wss://example.com:8080", { protocols: "soap" });

به‌روزرسانی‌های الگوریتم در وب کریپتو

رمزنگاری پساکوانتومی و یک الگوریتم AEAD متقارن را به مجموعه الگوریتم‌های رمزنگاری موجود در API رمزنگاری وب اضافه می‌کند. این به شما امکان دسترسی به پیاده‌سازی‌های ارائه شده توسط مرورگر از الگوریتم‌های رمزنگاری مقاوم در برابر کوانتوم که توسط NIST استاندارد شده‌اند را می‌دهد:

  • ML-KEM (768، 1024)
  • ML-DSA (44، 65، 87)
  • چاچا۲۰-پلی۱۳۰۵
  • ایکس-وینگ

اجرای CORS برای واکشی پس‌زمینه

رابط برنامه‌نویسی کاربردی Background Fetch اکنون اشتراک‌گذاری منابع بین مبدا (CORS) را اجباری می‌کند.

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

Fetch API: دلیل را از AbortController به fetch Response ارسال کنید

دلیل لغو، در صورت ارائه، را به متدهای شیء Response و ReadableStream آن، به جای فقط وعده fetch ، نمایش می‌دهد. این کار کروم را با استاندارد همسو می‌کند و دلیل لغو ارائه شده توسط توسعه‌دهنده را در هر کجا که مورد نظر باشد، نمایش می‌دهد.

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

درخواست‌های واکشی پس‌زمینه مستلزم آن است که مبدأ سرویس ورکر، مجوز لازم برای دسترسی به شبکه محلی (LNA) را برای ارسال درخواست‌ها به سرورهای محلی یا loopback داشته باشد.

این امر پیاده‌سازی کرومیوم را با هدف مشخصات Background Fetch همسو می‌کند، که بیان می‌کند درخواست‌ها از مشخصات Fetch عبور می‌کنند و سیاست‌های امنیتی یکسانی بر روی آنها اعمال می‌شود. این امر مانع از آن می‌شود که سایت‌ها با استفاده از Background Fetch به جای Fetch معمولی، بررسی‌های LNA را دور بزنند.

برای شرکت‌ها، می‌توانید از سیاست‌های سازمانی موجود LNA به همان روشی که برای درخواست‌های معمولی Fetch API از سرویس ورکرها استفاده می‌کنید، استفاده کنید:

روش‌های درج و پخش HTML به‌روزرسانی شده‌اند

چندین روش تنظیم HTML را ارائه می‌دهد که یک رویکرد منسجم برای درج پویای نشانه‌گذاری در یک سند موجود ارائه می‌دهند:

  • متدهای موقعیتی ( before() ، after() ، append() ، prepend() و replaceWith() ) که HTML را به عنوان آرگومان دریافت می‌کنند و جایگزین insertAdjacentHTML() می‌شوند.
  • متدهای استریمینگ ( streamAppendHTML() ، streamAppendHTMLUnsafe() و متدهای مرتبط) که یک WritableStream برمی‌گردانند.
  • ارسال {runScripts} به عنوان بخشی از SetHTMLUnsafeOptions ، که با رفتار createContextualFragment مطابقت دارد.
  • پشتیبانی از createParserOptions در Trusted Types، که به Trusted Types اجازه می‌دهد حالت اسکریپت‌نویسی و sanitizer را نادیده بگیرد.

تأیید پرداخت امن: اعتبارسنجی زبان

فیلد داده‌های locale تأیید پرداخت امن را به‌روزرسانی می‌کند تا در صورتی که هیچ یک از برچسب‌های زبان ارائه شده در فیلد با زبان مورد استفاده در پنجره تأیید پرداخت امن مطابقت نداشته باشد، NotSupportedError DOMException برگرداند. اگر فیلد تنظیم نشده باشد یا خالی باشد، این اعتبارسنجی نادیده گرفته می‌شود.

این به تطبیق زبان داده‌های ارائه شده به تأیید پرداخت امن با پنجره گفتگو کمک می‌کند.

پشتیبانی از گزینه targetAddressSpace برای WebSockets

پشتیبانی از ارسال گزینه targetAddressSpace در سازنده WebSocket را اضافه می‌کند. این به شما امکان می‌دهد مشخص کنید که یک اتصال WebSocket به یک نام میزبان عمومی باید به عنوان مقصد "محلی" یا "loopback" در نظر گرفته شود، که با پشتیبانی موجود در Fetch API مطابقت دارد. مورد اصلی استفاده، دور زدن محدودیت‌های محتوای ترکیبی هنگام اتصال به سرورهای محلی است که از HTTPS پشتیبانی نمی‌کنند، زیرا مجوزهای دسترسی به شبکه محلی به یک زمینه امن نیاز دارند.

برای مثال، یک سایت عمومی که به یک سرور محلی متصل می‌شود، می‌تواند به جای پیکربندی دستی آدرس IP خصوصی دقیق، از نام میزبان استفاده کند:

const ws = new WebSocket("ws://local-server.example", { targetAddressSpace: "local" });

این، اتصال WebSocket را به عنوان یک آدرس محلی علامت‌گذاری می‌کند و در صورت اجرا در یک زمینه امن، از مسدود کردن محتوای ترکیبی جلوگیری می‌کند. کاربر باید به سایت اجازه شبکه محلی را بدهد تا اتصال WebSocket با موفقیت انجام شود و نام میزبان باید به یک آدرس IP محلی تبدیل شود (در غیر این صورت مسدود می‌شود).

این ویژگی بر اساس دیکشنری گزینه‌های اضافه شده به سازنده‌ی WebSocket ساخته می‌شود.

WebGPU: عمق قطعه WGSL

قابلیت ارائه یک اصلاح‌کننده less یا greater به @builtin(frag_depth) در WGSL اضافه شد.

استفاده از @builtin(frag_depth) ‎ بدون اصلاح‌کننده‌ها می‌تواند با غیرفعال کردن بهینه‌سازی‌های early-Z در فراخوانی ترسیم، باعث کاهش عملکرد شود. اصلاح‌کننده‌های جدید امکان تنظیم صریح حالت بافر را فراهم می‌کنند و امکان اعمال بهینه‌سازی‌های early-Z را فراهم می‌کنند.

API شکل پنجره

رابط برنامه‌نویسی کاربردی شکل پنجره (Window Shape API) به برنامه‌های وب ایزوله‌ی فهرست‌شده در ChromeOS اجازه می‌دهد تا شکل پنجره‌ی سفارشی داشته باشند. با فعال کردن طرح‌بندی‌های پنجره‌ی غیرمستطیلی و غیرمجاور، توسعه‌دهندگان می‌توانند تجربیاتی مانند ویجت‌ها، پنل‌های شناور و پوشش‌هایی را پیاده‌سازی کنند که با ظاهر برنامه‌های بومی مطابقت دارند. متد window.setShape() نیاز دارد که پنجره در حالت نمایش unframed باشد و به مجوز window-management نیاز دارد.

مدیران می‌توانند این ویژگی را با سیاست‌های موجود برای مدیریت پنجره مدیریت کنند:

  • DefaultWindowManagementSetting وضعیت پیش‌فرض مدیریت پنجره را برای همه برنامه‌ها پیکربندی می‌کند.
  • WindowManagementAllowedForUrls به IWAهای دارای مبدأ مشخص اجازه می‌دهد تا وارد حالت بدون قاب شوند و شکل‌های پنجره سفارشی را بدون تعامل کاربر تنظیم کنند.
  • WindowManagementBlockedForUrls مجوزها را برای مبدأهای مشخص‌شده مسدود می‌کند و کروم را مجبور می‌کند هرگونه شکل پنجره سفارشی را حذف کرده و به سایر حالت‌های نمایش موجود بازگردد.

آزمایش‌های منشأ جدید

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

توکن‌های تأیید خصوصی

توکن‌های تأیید خصوصی (PVT) یک مکانیسم کم آنتروپی است که به وب‌سایت‌ها اجازه می‌دهد اعتمادی را که کاربران در مرور عادی ایجاد کرده‌اند به حالت مرور خصوصی منتقل کنند و اصطکاک کاربر را از CAPTCHAها و چالش‌ها کاهش دهند. PVTها در طول یک جلسه مرور عادی صادر می‌شوند و در حالت مرور خصوصی بازخرید می‌شوند.