کروم 129 بتا

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

CSS

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

interpolate-size property CSS و تابع calc-size()

ویژگی CSS interpolate-size به صفحه اجازه می‌دهد انیمیشن‌ها و انتقال کلمات کلیدی اندازه ذاتی CSS مانند auto ، min-content و fit-content را انتخاب کند، در مواردی که آن کلمات کلیدی را می‌توان متحرک کرد.

تابع calc-size() CSS یک تابع CSS شبیه به calc() است، با این حال از عملیات دقیقاً روی یک کلمه کلیدی سایز پشتیبانی شده نیز پشتیبانی می کند. در حال حاضر کلیدواژه‌های اندازه‌گیری پشتیبانی شده auto ، min-content ، max-content و fit-content هستند. سایر کلمات کلیدی اندازه‌گیری که ممکن است در آینده پشتیبانی شوند عبارتند از stretch (در حال حاضر به صورت پیشوند -webkit-fill-available پشتیبانی می‌شود) و contain . این تابع برای نمایش مقادیر در وسط انیمیشن های مجاز توسط ویژگی interpolate-size استفاده می شود.

تغییر نام CSS anchor positioning inset-area به position-area

CSSWG تصمیم گرفت نام این ویژگی را از inset-area به position-area تغییر دهد. Chrome 129 position-area ارسال می شود، نام inset-area در نسخه بعدی حذف خواهد شد.

CSS Anchor Positioning: Unwrapped inset-area()

تابع inset-area() را با مقادیر inset-area مستقیماً در position-try-fallbacks جایگزین می کند. به عنوان مثال به جای position-try-fallbacks:inset-area(top) از position-try-fallbacks:top استفاده کنید.

برای استفاده از Mirror edgeMode، فیلتر پس زمینه CSS را به روز کنید

ویژگی backdrop-filter CSS یک یا چند فیلتر را در پس زمینه یک عنصر اعمال می کند. پس زمینه محتوای نقاشی شده ای است که در پشت عنصر قرار دارد. یک فیلتر متداول یک تاری است که به طراحان اجازه می‌دهد کادرهای محاوره‌ای «شیشه مات»، پوشش‌های ویدیویی، هدرهای ناوبری شفاف و موارد دیگر را بسازند.

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

API های وب

پشتیبانی Blob در کانال های داده WebRTC

RTCDataChannel.send(Blob) را پیاده‌سازی می‌کند و رویداد onMessage اکنون می‌تواند به صورت اختیاری داده‌هایی از نوع Blob با استفاده از ویژگی binaryType دریافت کند.

علاوه بر پشتیبانی از ارسال رشته ها و ArrayBuffers، اکنون می توانید انتخاب کنید که Blob به جای آن ارسال شود تا زمانی که اندازه آن کمتر از maxMessageSize انتقال SCTP است که در مشخصات WebRTC نشان داده شده است.

با تنظیم ویژگی binaryType روی "blob" ، ویژگی داده رویداد onMessage به جای ArrayBuffer که در حال حاضر پشتیبانی می شود، از نوع Blob خواهد بود.

محاسبه فشار دستورات افزونه WebDriver

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

Intl.DurationFormat

روشی برای قالب‌بندی مدت‌زمان ارائه می‌دهد، برای مثال «1 ساعت و 40 دقیقه و 30 ثانیه» که از چندین منطقه پشتیبانی می‌کند.

Private Aggregation API: ادغام مشارکت در سمت مشتری

API جمع‌آوری خصوصی را تغییر می‌دهد تا مشارکت‌های هیستوگرام را با همان سطل و شناسه فیلتر قبل از جاسازی در محموله رمزگذاری‌شده گزارش انباشته ادغام کند.

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

scheduler.yield()

روشی را برای تسلیم کنترل به مرورگر ارائه می دهد که می تواند برای شکستن کارهای طولانی استفاده شود. انتظار وعده ای که توسط scheduler.yield() برگردانده می شود، باعث می شود که وظیفه فعلی تسلیم شود و در یک کار مرورگر جدید ادامه یابد. این می تواند برای بهبود مشکلات پاسخگویی ناشی از کارهای طولانی استفاده شود. ادامه برای کاهش مشکلات عملکرد جایگزین های موجود اولویت بندی شده است.

Web Authentication API: روش های سریال سازی JSON

متدهای WebAuthn PublicKeyCredential.toJSON() ، parseCreationOptionsFromJSON() ، و parseRequestOptionsFromJSON() به توسعه دهندگان این امکان را می دهند که یک پاسخ WebAuthn را در یک شی JSON سریالی کنند یا یک شی درخواست WebAuthn را از نمایش JSON آن غیر سریالی کنند.

پشتیبانی از محدوده گسترده (HDR) WebGPU

پارامترهای نگاشت تن را به پیکربندی بوم WebGPU اضافه می‌کند، و گزینه‌های standard (رفتار فعلی محدود کردن محتوا به محدوده SDR نمایشگر) را به عنوان پیش‌فرض، و extended (عدم اعمال این محدودیت) را به عنوان یک رفتار جدید اضافه می‌کند. این به محتوای WebGPU اجازه می دهد تا از طیف وسیعی از نمایشگر استفاده کند.

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

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

رابط FileSystemObserver

رابط FileSystemObserver وب سایت ها را از تغییرات سیستم فایل مطلع می کند. سایت‌ها تغییرات فایل‌ها و دایرکتوری‌ها را در دستگاه محلی کاربر (همانطور که در WICG/file-system-access مشخص شده است) یا در سیستم فایل Bucket (همانطور که در fs.spec.whatwg.org مشخص شده است) مشاهده می‌کنند و از اطلاعات تغییرات اساسی مطلع می‌شوند. مانند نوع تغییر.

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

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

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

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

0.0.0.0 برای دسترسی به شبکه خصوصی منسوخ کنید

قبل از اینکه دسترسی به شبکه خصوصی (PNA) به طور کامل منتشر شود، Chrome دسترسی به آدرس IP 0.0.0.0 مسدود خواهد کرد.

Chrome دسترسی مستقیم به نقاط پایانی شبکه خصوصی از وب‌سایت‌های عمومی را به عنوان بخشی از مشخصات PNA منسوخ می‌کند. خدمات گوش دادن در لوکال هاست ( 127.0.0.0/8 ) طبق مشخصات خصوصی در نظر گرفته می شوند. حفاظت PNA کروم را می توان با استفاده از آدرس IP 0.0.0.0 برای دسترسی به خدماتی که در لوکال هاست در macOS و Linux گوش می دهند، دور زد.

این همچنین می تواند در حملات DNS rebinding که یک برنامه وب را در حال گوش دادن به لوکال هاست هدف قرار می دهند مورد سوء استفاده قرار گیرد.

این نسخه از کروم سه ویژگی را حذف می کند.

آرگومان includeShadowRoots را در DOMParser حذف کنید

آرگومان includeShadowRoots یک آرگومان هرگز استاندارد نشده برای تابع DOMParser.parseFromString() بود که برای اجازه تجزیه ضروری محتوای HTML که حاوی DOM سایه اعلامی است وجود داشت. این در Chrome 90 به عنوان بخشی از محموله اولیه DOM سایه اظهاری ارسال شد.

اکنون که نسخه استاندارد شده این ویژگی با متدهای setHTMLUnsafe() و parseHTMLUnsafe() در دسترس است، آرگومان غیراستاندارد includeShadowRoots حذف خواهد شد. کد باید به صورت زیر به روز شود:

به جای:

((new DOMParser()).parseFromString(html,'text/html',{includeShadowRoots: true});

استفاده کنید:

Document.parseHTMLUnsafe(html);

سریال سازی سایه ای DOM غیر استاندارد را حذف کنید

اجرای نمونه اولیه Shadow DOM حاوی روشی به نام getInnerHTML() بود که برای سریال‌سازی درخت‌های DOM حاوی ریشه‌های سایه استفاده می‌شد. آن بخش از نمونه اولیه با بقیه shadow dom اعلامی استاندارد نشده بود، و در عوض یک جایگزین طراحی شد getHTML() .

بنابراین روش قدیمی getInnerHTML() اکنون از کروم حذف شده است، شما باید از getHTML() به عنوان جایگزین استفاده کنید که به زودی در بین مرورگرها قابل همکاری خواهد بود.

PointerEvent.getCoalescedEvents() از زمینه های ناامن حذف کنید

گروه کاری Pointer Events بیش از چهار سال پیش PointerEvent.getCoalescedEvents() محدود به زمینه‌های امن کرد که API را از زمینه‌های ناامن حذف کرد. Chrome در ابتدا رفتار قدیمی را ارسال کرد و به دلیل نگرانی‌های مربوط به سازگاری، بلافاصله تغییرات مشخصات را دنبال نکرد.

اکنون در حال حذف آن از زمینه‌های ناامن هستیم زیرا استفاده از Chrome در زمینه‌های ناامن بسیار کم است.