کروم 115 بتا

چند کلمه کلیدی برای ویژگی نمایش CSS، WGSLLanguageFeatures برای WebGPU، ارتقاء HTTPS و موارد دیگر.

تغییرات توضیح داده شده در جدیدترین کانال بتا Chrome برای Android، ChromeOS، Linux، macOS و Windows اعمال می‌شود، مگر اینکه خلاف آن ذکر شده باشد. از طریق پیوندهای ارائه شده یا از فهرست موجود در ChromeStatus.com درباره ویژگی های فهرست شده در اینجا بیشتر بیاموزید. Chrome 115 از 31 مه 2023 نسخه بتا است. می‌توانید آخرین نسخه را در Google.com برای دسک‌تاپ یا در فروشگاه Google Play در Android بارگیری کنید.

CSS

این نسخه سه ویژگی جدید CSS را اضافه می کند.

چندین مقدار از ویژگی display

ویژگی display CSS اکنون چندین کلمه کلیدی را به عنوان یک مقدار می پذیرد، علاوه بر کلمات کلیدی از پیش ساخته شده قدیمی. دو کلمه کلیدی اول مقادیر بیرونی و درونی نمایش را نشان می‌دهند، پرچم‌های اختیاری برای list-item ، مقادیر داخلی مانند table-cell ، و مقادیر کادر contents و none وجود دارد.

با کلیدواژه‌های بیرونی و درونی می‌توانید نحوه رفتار جعبه بیرونی (بلوک یا درون خطی) و نحوه رفتار فرزندان درونی را تعریف کنید، برای مثال flex ، grid یا flow . بنابراین display: flex تبدیل به display: block flex و display: block به display: block flow . برای لیستی از نگاشت های رایج و اطلاعات بیشتر به MDN مراجعه کنید.

پرس و جوهای ظرف سبک زمینه بولی

Chrome 115 از پرس‌وجوهای ظرف style() بدون مقدار اعلان، فقط نام ویژگی، به عنوان راهی برای تطبیق مقادیر غیر اولیه پشتیبانی می‌کند. قبلاً باید از: not style(--my-property: initial) استفاده می‌کردید حالا می‌توانید از: style(--my-property) برای مطابقت با هر مقدار غیر اولیه استفاده کنید.

انیمیشن های اسکرول محور

ScrollTimeline و ViewTimeline افزونه‌ای برای مشخصات Web Animations هستند که به توسعه‌دهندگان اجازه می‌دهند از موقعیت یک اسکرول یا موقعیت یک عنصر در یک اسکرول به عنوان ورودی «زمان» به جای زمان پیش‌فرض ساعت یکنواخت استفاده کنند. این کار انیمیشن‌های مبتنی بر پیمایش، مانند نوار پیمایش کوچک‌تر را بدون نیاز به اجرای اسکریپت کاربر فعال می‌کند. آنها را می توان هم از طریق CSS و هم از طریق جاوا اسکریپت که در انیمیشن های CSS و انیمیشن های وب استفاده می شود، اعلام و نمونه سازی کرد.

برای جزئیات بیشتر ، متحرک سازی عناصر در اسکرول با انیمیشن های اسکرول محور را ببینید.

رفع رگرسیون که در آن عناصر دارای display: contents دیگر در درخت دسترس‌پذیری نشان داده نمی‌شوند

یک رگرسیون معرفی شد که باعث شد عناصر دارای display: contents اطلاعات معنایی را از دست بدهند و دیگر به درستی در درخت دسترسی نمایش داده نشوند. Chrome 115 دارای یک راه حل برای این مشکل است.

API های وب

افزایش حداکثر اندازه یک WebAssembly.Module() در رشته اصلی به 8 مگابایت

سازنده WebAssembly.Module() یک ماژول WebAssembly باینری را به صورت همزمان کامپایل می کند که می تواند رشته اصلی را مسدود کند. برای جلوگیری از این امر، حداکثر اندازه یک ماژول WebAssembly که می تواند با این سازنده کامپایل شود به 8 مگابایت محدود شده است. ماژول های بزرگتر را می توان به صورت ناهمزمان در رشته اصلی با WebAssembly.compile() کامپایل کرد، یا به صورت همزمان در یک رشته کارگر. محدودیت 8 مگابایتی گسترش محدودیت اصلی 4 کیلوبایت است. این افزونه به لطف بهبودهایی در زمان اجرا WebAssembly V8 امکان پذیر است. محدودیت 8 مگابایتی از طریق اندازه‌گیری عملکرد در تلفن Google Pixel 1 تعیین شده است، که در حال حاضر یک گوشی ارزان قیمت در نظر گرفته می‌شود. پیشرفت‌های آینده در V8 یا در سخت‌افزار ممکن است امکان افزایش بیشتر محدودیت را فراهم کند.

FedCM: پشتیبانی از الزامات میانجیگری مدیریت اعتبار برای احراز هویت مجدد خودکار

از الزامات میانجیگری مدیریت اعتبار پشتیبانی می کند تا UX احراز هویت مجدد ساده را برای کاربرانی که حساب های فدرال در وب سایت ها با FedCM API ایجاد کرده اند، ارائه دهد.

ارتقاء HTTPS

به طور خودکار و خوش بینانه تمام پیمایش های فریم اصلی را به HTTPS با بازگشت سریع به HTTP ارتقا دهید.

پارتیشن بندی Storage، Service Worker و Communication API

برای جلوگیری از انواع خاصی از ردیابی متقابل کانال جانبی، Chrome APIهای فضای ذخیره‌سازی و ارتباطات را در زمینه‌های شخص ثالث پارتیشن بندی می‌کند. این شامل فضای ذخیره‌سازی با مدیریت سهمیه، کارگران سرویس و APIهای ارتباطی (مانند BroadcastChannel) می‌شود. برای جزئیات بیشتر به مستندات مربوط به پارتیشن بندی ذخیره سازی مراجعه کنید.

زمان‌بندی منابع: زمان‌های پاسخ موقت را در معرض نمایش قرار دهید

PerformanceResourceTiming.firstInterimResponseStart در مواردی که یک پیمایش یا واکشی منبع فرعی با یک پاسخ موقت 1xx مواجه می‌شود، نمایش دهید. برای مثال با 100 ادامه یا 103 اشاره اولیه، firstInterimResponseStart اکنون با زمان اولین پاسخ میانی مطابقت دارد، در حالی که responseStart با پاسخ نهایی، به عنوان مثال با وضعیت 200 مطابقت دارد.

به روز رسانی مدیریت پیشوند "xml" در lookupNamespaceURI() و createNSResolver()

Node.lookupNamespaceURI() به طور پیش فرض از پیشوندهای "xml" و "xmlns" پشتیبانی می کند. تابع رشته های فضای نام ثابت را برای آنها برمی گرداند. Document.createNSResolver() و XPathEvaluator.createNSResolver() متوقف می شوند تا گره مشخص شده را بپیچند تا مدیریت پیشوند "xml" را اضافه کنند. آنها گره مشخص شده را همانطور که هست برمی گردانند. توسعه دهندگان وب اکنون می توانند از یک عنصر به عنوان XPathNSResolver استفاده کنند بدون اینکه آن را با createNSResolver() بپیچند.

VisibilityStateEntry

وضعیت دید (قابل مشاهده یا پنهان) را در جدول زمانی عملکرد نشان می دهد. خط زمانی همیشه ورودی با startTime 0 و وضعیت نمای اولیه، به اضافه ورودی های مربوط به هر تغییر وضعیت دید دارد.

WGSLLanguageFeatures برای WebGPU

گیرنده wgslLanguageFeatures روی شی GPU برای WebGPU و نوع WGSLLanguageFeatures مربوط به آن اضافه می کند.

دستورات WebDriver برای تعامل با گفتگوهای FedCM

این چندین دستور WebDriver را برای فعال کردن اتوماسیون مرورگر، مانند تست خودکار، برای تعامل با گفتگوهای FedCM نشان می دهد.

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

در Chrome 115 می‌توانید آزمایش‌های اصلی جدید زیر را انتخاب کنید.

محاسبه فشار

Compute Pressure API اطلاعات سطح بالایی را در مورد وضعیت فعلی سخت افزار دستگاه ارائه می دهد تا به سایت ها اجازه دهد تعادل مناسبی را بین استفاده از قدرت پردازش موجود و قرار دادن سیستم تحت فشار غیرقابل کنترل برای کاربران ایجاد کنند. فشار محاسباتی یک اصطلاح عمومی در طراحی است. در حال حاضر بر اساس بار CPU محاسبه می شود، اما برنامه های آینده شامل استفاده از سیگنال های دما و وضعیت باتری است. در اعلام دومین آزمایش مبدا فشار محاسباتی بیشتر بیاموزید.

برای آزمایش مبدا فشار محاسباتی ثبت نام کنید .

نکات کامپایل صریح با نظرات جادویی

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

برای نکات کامپایل صریح با آزمایش مبدا نظرات جادویی ثبت نام کنید .

Long Animation Frames API

این افزونه Long Tasks API است. این کار را به همراه به‌روزرسانی رندر بعدی آن اندازه‌گیری می‌کند و اطلاعاتی مانند اسکریپت‌های طولانی در حال اجرا، زمان رندر و زمان صرف شده در طرح‌بندی و سبک اجباری به نام layout thrashing را اضافه می‌کند. توسعه‌دهندگان می‌توانند از این به‌عنوان تشخیصی برای «تنگی» استفاده کنند، که توسط Interaction to Next Paint (INP) اندازه‌گیری می‌شود، و با یافتن دلایل ازدحام نخ اصلی که اغلب علت INP بد است.

برای آزمایش اولیه Long Animation Frames ثبت نام کنید .

Storage Buckets API

Storage Buckets به سایت‌ها امکان می‌دهد تا چندین سطل ذخیره‌سازی ایجاد کنند تا داده‌های خود را سازماندهی کنند و به عوامل کاربر اجازه می‌دهد هر سطل را مستقل از سایر سطل‌ها حذف کنند. هر سطل ذخیره سازی می تواند داده های مرتبط با API های ذخیره سازی تاسیس شده مانند IndexedDB و CacheStorage را ذخیره کند. برای آزمایش اولیه Storage Buckets API ثبت نام کنید .

محرومیت ها و حذف ها

این نسخه از Chrome موارد منسوخ و حذف فهرست شده در زیر را معرفی می کند. برای مشاهده لیستی از لغو برنامه ریزی شده، منسوخ شدن فعلی و حذف قبلی، از ChromeStatus.com دیدن کنید.

این نسخه کروم دو ویژگی را منسوخ می‌کند.

تنظیم کننده document.domain منسوخ کنید

تنظیم‌کننده document.domain در حال منسوخ شدن است زیرا به توسعه‌دهندگان اجازه می‌دهد سیاست‌های همان مبدأ را کاهش دهند - و به این ترتیب مرز امنیتی اساسی را که ما قصد حفظ آن را داریم پیچیده می‌کند و موانعی را در مسیر تغییرات پس از Spectre در مدل فرآیند Chromium قرار می‌دهد. برای جایگزینی برای استفاده از document.domain ، Chrome تغییر دادن document.domain را غیرفعال می‌کند . در بیشتر موارد استفاده، postMessage() cross-origin یا Channel Messaging API می‌تواند جایگزین document.domain شود. به‌عنوان آخرین راه‌حل، می‌توانید از طریق خوشه‌های عامل با کلید مبدا وارد دامنه سند شوید. تنظیم کننده باقی می ماند، اما منشا بدون تغییر باقی می ماند.

رویدادهای جهش را منسوخ کنید

رویدادهای جهش، از جمله DOMSubtreeModified ، DOMNodeInserted ، DOMNodeRemoved ، DOMNodeRemovedFromDocument ، DOMNodeInsertedIntoDocument از مشخصات در سال 2011 منسوخ شدند و در سال 2012 توسط Mutation Observer جایگزین شدند. استفاده از رویدادهای جهش منسوخ قبل از حذف در Chrome 127 (20 ژوئیه 2024) باید به Mutation Observer منتقل شود.

درباره انکار رویدادهای جهش بیشتر بیاموزید.