کروم 138

تاریخ انتشار پایدار: 24 ژوئن 2025

مگر اینکه خلاف آن ذکر شده باشد، تغییرات زیر در انتشار کانال پایدار Chrome 138 برای Android، ChromeOS، Linux، macOS و Windows اعمال می‌شود.

CSS و UI

توابع مرتبط با علامت abs() و sign() توابع مختلف مربوط به علامت آرگومان خود را محاسبه می کنند.

تابع abs(A) حاوی یک محاسبه A است و مقدار مطلق A را همان نوع ورودی برمی‌گرداند: اگر مقدار عددی A مثبت یا 0⁺ باشد، فقط A دوباره. در غیر این صورت -1 * A.

تابع sign(A) شامل یک محاسبه A است و اگر مقدار عددی A منفی باشد 1+، اگر مقدار عددی A مثبت باشد 0+ و اگر مقدار عددی A 0-0 باشد 0- را برمی گرداند. نوع برگشتی یک <number> است که با نوع محاسبه ورودی مطابقت دارد.

اسناد MDN:abs() | باگ ردیابی #40253181 | ورودی ChromeStatus.com | مشخصات

نشان‌گذاری عملکردی پیشرفت درون‌یابی: تابع CSS progress() .

نماد تابعی progress() مقدار <number> را نشان می دهد که موقعیت یک محاسبه (مقدار پیشرفت) را بین دو محاسبه دیگر (مقدار شروع پیشرفت و مقدار پایان پیشرفت) نشان می دهد. تابع progress() یک تابع ریاضی است.

باگ ردیابی #40944203 | ورودی ChromeStatus.com | مشخصات

CSS sibling-index() and sibling-count()

توابع sibling-index() و sibling-count() را می توان به عنوان اعداد صحیح در مقادیر ویژگی CSS برای استایل دادن به عناصر بر اساس موقعیت آنها در بین خواهر و برادرها یا تعداد کل خواهر و برادرها به ترتیب استفاده کرد. این توابع را می توان مستقیماً به عنوان مقادیر صحیح استفاده کرد، اما جالب تر در داخل عبارات calc() است.

باگ ردیابی #40282719 | ورودی ChromeStatus.com | مشخصات

کلمه کلیدی اندازه گیری stretch CSS

یک کلمه کلیدی برای ویژگی های اندازه CSS (به عنوان مثال، width و height ) که به عناصر اجازه می دهد تا دقیقاً فضای موجود بلوک خود را پر کنند. این شبیه به "100%" است، با این تفاوت که اندازه حاصل به جای کادر نشان داده شده با box-sizing به کادر حاشیه عنصر اعمال می شود. استفاده از این کلمه کلیدی به عنصر اجازه می دهد حاشیه های خود را حفظ کند در حالی که همچنان تا حد امکان بزرگ است. نسخه بدون پیشوند -webkit-fill-available .

باگ ردیابی #41253915 | ورودی ChromeStatus.com | مشخصات

متغیر CSS env برای مقیاس فونت در سطح سیستم عامل

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

باگ ردیابی #397737223 | ورودی ChromeStatus.com | مشخصات

دستگاه ها

سریال وب از طریق بلوتوث در اندروید

این ویژگی به صفحات وب و برنامه های وب اجازه می دهد تا از طریق بلوتوث دستگاه های اندرویدی به پورت های سریال متصل شوند.

Chrome در Android اکنون از Web Serial API از طریق بلوتوث RFCOMM پشتیبانی می کند. خط‌مشی‌های سازمانی موجود ( DefaultSerialGuardSetting ، SerialAllowAllPortsForUrls ، SerialAllowUsbDevicesForUrls ، SerialAskForUrls و SerialBlockedForUrls ) در سایر پلت‌فرم‌ها در حالت‌های future_on برای Android فعال هستند. همه خط مشی ها به جز SerialAllowUsbDevicesForUrls پس از فعال شدن این ویژگی فعال خواهند شد. SerialAllowUsbDevicesForUrls در راه اندازی آینده پس از اینکه اندروید پشتیبانی از پورت های سریال سیمی را در سطح سیستم ارائه کرد فعال خواهد شد.

باگ ردیابی #375245353 | ورودی ChromeStatus.com | مشخصات

Viewport Segments Enumeration API

Viewport Segments API به توسعه دهندگان این امکان را می دهد که طرح وب خود را با هدف قرار دادن دستگاه های تاشو تطبیق دهند. بخش های viewport موقعیت و ابعاد یک منطقه منطقی مجزا از viewport را مشخص می کند. بخش‌های Viewport زمانی ایجاد می‌شوند که درگاه دید توسط یک یا چند ویژگی سخت‌افزاری (مانند یک تا یا یک لولا بین نمایشگرهای جداگانه) که به عنوان یک تقسیم‌کننده عمل می‌کنند، تقسیم می‌شود. سگمنت‌ها نواحی درگاه نمایش هستند که توسعه‌دهنده می‌تواند آن‌ها را از نظر منطقی متمایز کند.

باگ ردیابی #1039050 | ورودی ChromeStatus.com | مشخصات

جاوا اسکریپت

QuotaExceededError به یک رابط مشتق شده از DOMException به روز کنید

قبلاً، وقتی پلتفرم وب می‌خواهد به شما بگوید چه زمانی از سهمیه فراتر رفته‌اید، از DOMException با ویژگی name خاص که روی QuotaExceededError تنظیم شده است استفاده می‌کند. با این حال این اجازه حمل اطلاعات اضافی را نمی دهد.

این پیشنهاد حذف «QuotaExceededError» از لیست نام‌های داخلی DOMException است، و در عوض یک نام کلاس QuotaExceededError از لیست DOMException داخلی ایجاد می‌کند و دارای quota خصوصیات اختیاری اضافی و requested است. ما پیشنهاد می‌کنیم تمام نمونه‌هایی از مشخصاتی که «QuotaExceededError» را ایجاد می‌کنند، DOMException به‌جای پرتاب QuotaExceededError ارتقا می‌یابد. در حال حاضر، چنین مشخصاتی quota و ویژگی‌های requested را در مقدار پیش‌فرض null باقی می‌گذارند، اما در نهایت می‌توانند آن داده‌ها را ارتقا دهند، اگر برای موارد استفاده آن‌ها مفید باشد (و به عنوان مثال، نشت حریم خصوصی نباشد).

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

API های وب

API مترجم

یک API جاوا اسکریپت برای ارائه قابلیت ترجمه زبان به صفحات وب. مرورگرها به طور فزاینده ای ترجمه زبان را به کاربران خود ارائه می دهند. چنین قابلیت های ترجمه می تواند برای توسعه دهندگان وب نیز مفید باشد. این امر به ویژه زمانی اتفاق می افتد که توانایی های ترجمه داخلی مرورگر نمی تواند کمک کند. یک خط‌مشی سازمانی ( GenAILocalFoundationalModelSettings ) برای غیرفعال کردن دانلود مدل اصلی موجود است که این API را از دسترس خارج می‌کند.

اسناد MDN | باگ ردیابی #322229993 | ورودی ChromeStatus.com | مشخصات

API آشکارساز زبان

یک API جاوا اسکریپت برای تشخیص زبان متن، با سطوح اطمینان.

یک مکمل مهم برای ترجمه، تشخیص زبان است. این را می توان با ترجمه ترکیب کرد، برای مثال، دریافت ورودی کاربر به یک زبان ناشناخته و ترجمه آن به یک زبان مقصد خاص. امروزه مرورگرها اغلب دارای قابلیت های تشخیص زبان هستند، و ما می خواهیم آنها را از طریق JavaScript API به توسعه دهندگان وب ارائه دهیم که مکمل API ترجمه است. یک خط‌مشی سازمانی ( GenAILocalFoundationalModelSettings ) برای غیرفعال کردن دانلود مدل اصلی موجود است که این API را از دسترس خارج می‌کند.

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

Summarizer API

Summarizer API یک API جاوا اسکریپت برای تولید خلاصه‌ای از متن ورودی است که توسط یک مدل زبان AI پشتیبانی می‌شود. انتظار می رود مرورگرها و سیستم عامل ها به طور فزاینده ای به یک مدل زبان دسترسی پیدا کنند. با افشای این مدل داخلی، از نیاز هر وب سایتی به دانلود مدل زبان چند گیگابایتی خود یا ارسال متن ورودی به API های شخص ثالث جلوگیری می کنیم. API خلاصه کننده به طور خاص یک API سطح بالا را برای رابط با یک مدل زبان به منظور خلاصه کردن ورودی ها برای موارد مختلف استفاده (GitHub)، به گونه ای که به مدل زبان خاص مورد نظر بستگی ندارد، نشان می دهد. یک خط‌مشی سازمانی ( GenAILocalFoundationalModelSettings ) برای غیرفعال کردن دانلود مدل اصلی موجود است که این API را از دسترس خارج می‌کند.

اسناد MDN | باگ ردیابی #351744634 | ورودی ChromeStatus.com | مشخصات

فرار < و > در ویژگی های سریال سازی

فرار < و > در مقادیر صفات در سریال سازی.

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

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

Crash Reporting API: is_top_level و visibility_state

این ویژگی فیلدهای رشته ای is_top_level و visibility_state را به بدنه API گزارش خرابی اضافه می کند که برای گزارش های خرابی به نقطه پایانی گزارش پیش فرض ارسال می شود.

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

پس از اشتراک مجدد، رویداد pushsubscriptionchange فعال کنید

هنگامی که منبعی که در گذشته اشتراک فشاری برای آن وجود داشت، اما به دلیل تغییر مجوز لغو شد (از اعطا به رد/پیش‌فرض)، مجوز اعلان مجدد داده می‌شود، رویداد pushsubscriptionchange در کارکنان خدماتی فعال کنید.

رویداد با یک اشتراک قدیمی خالی و اشتراک جدید فعال خواهد شد.

باگ ردیابی #407523313 | ورودی ChromeStatus.com | مشخصات

چند رسانه ای

پشتیبانی از متادیتا جهت گیری فریم ویدیو را به WebCodecs اضافه کنید

rotation: int و flip: bool را به رابط‌های مختلف مرتبط با ویدیو در WebCodecs معرفی می‌کند تا توسعه‌دهندگان بتوانند با منابع فریمی که جهت‌گیری دارند (به عنوان مثال، دوربین‌های اندروید، رسانه‌های خاص) کار کنند.

رابط VideoFrame توانایی ایجاد VideoFrames با چرخش و چرخش دلخواه و همچنین دسترسی به این اطلاعات را در شی VideoFrame افزایش می دهد.

شی VideoDecoderConfig فیلدهای چرخشی و چرخشی را به دست می آورد که به طور خودکار روی اشیاء VideoFrame رمزگشایی شده منتشر می شوند.

کلاس VideoEncoder مکانیسم هایی را برای انتقال اطلاعات چرخش و چرخش از encode() به VideoDecoderConfig که به عنوان بخشی از EncodedVideoChunkMetadata منتشر می شود، به دست می آورد. اگر encode() با فریم هایی با جهت گیری های مختلف فراخوانی شود، یک استثنا غیرمرگبار ایجاد می شود. configure() ممکن است برای تنظیم مجدد جهت مجاز استفاده شود.

باگ ردیابی #40243431 | ورودی ChromeStatus.com | مشخصات

عملکرد

prefetchCache و prerenderCache را به هدر Clear-Site-Data اضافه کنید

دو مقدار جدید برای هدر Clear-Site-Data که به توسعه دهندگان کمک می کند تا پاکسازی کش prerender و prefetch را هدف قرار دهند: "prefetchCache" و "prerenderCache" .

باگ ردیابی #398149359 | ورودی ChromeStatus.com | مشخصات

قوانین حدس و گمان: فیلد target_hint

این دستور قواعد حدس و گمان را گسترش می دهد تا به توسعه دهندگان اجازه دهد تا فیلد target_hint را مشخص کنند.

این فیلد راهنمایی برای نشان دادن یک هدف قابل پیمایش است که در آن صفحه از پیش اجرا شده در نهایت فعال می شود. به عنوان مثال، زمانی که _blank به عنوان یک اشاره مشخص می شود، یک صفحه از پیش اجرا شده را می توان برای یک قابل ناوبری که توسط window.open() باز می شود، فعال کرد. فیلد هیچ تأثیری در واکشی اولیه ندارد.

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

باگ ردیابی #40234240 | ورودی ChromeStatus.com | مشخصات

امنیت

خط مشی یکپارچگی برای اسکریپت ها

Subresource-Integrity (SRI) به توسعه دهندگان این امکان را می دهد که مطمئن شوند دارایی هایی که قصد بارگیری دارند در واقع دارایی هایی هستند که بارگیری می کنند. اما هیچ راهی برای توسعه دهندگان وجود ندارد که مطمئن شوند همه اسکریپت هایشان با استفاده از SRI تایید شده است.

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

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

کارگر خدمات

پشتیبانی ServiceWorker برای Prefetch قوانین گمانه زنی

این ویژگی واکشی اولیه توسط ServiceWorker را فعال می‌کند، این یک واکشی اولیه قوانین گمانه‌زنی برای URL‌هایی است که توسط یک Service Worker کنترل می‌شوند. پیش از این، واکشی اولیه با شناسایی یک Service Worker کنترل کننده لغو می شود، بنابراین پیمایش بعدی به هدف پیش واکشی توسط مسیر غیر پیش واکشی ارائه می شود. این ویژگی درخواست پیش واکشی را قادر می‌سازد تا از طریق کنترل کننده واکشی Service Worker عبور کند و پاسخ با رهگیری Service Worker در حافظه پنهان پیش واکشی ذخیره می‌شود و در نتیجه یک پیمایش بعدی توسط حافظه پنهان پیش واکشی ارائه می‌شود. برای کنترل این ویژگی از خط مشی سازمانی PrefetchWithServiceWorkerEnabled استفاده کنید.

باگ ردیابی #40947546 | ورودی ChromeStatus.com | مشخصات

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

WebGPU: ویژگی GPUAdapter isFallbackAdapter را منسوخ کنید

ویژگی بولین GPUAdapter isFallbackAdapter را از WebGPU منسوخ می کند، که با ویژگی بولی GPUAdapterInfo isFallbackAdapter اضافی است.

این حذف آتی یک تغییر جزئی است زیرا پشتیبانی از آداپتورهای بازگشتی هنوز در هیچ مرورگری اجرا نشده است، در نتیجه هر دو ویژگی isFallbackAdapter به طور مداوم یک مقدار نادرست را برمی‌گردانند.

باگ ردیابی #409259074 | ورودی ChromeStatus.com | مشخصات

حذف محدوده ناهمزمان برای برنامه‌های افزودنی منبع رسانه منسوخ شود

استاندارد Media Source مدت ها پیش تغییر کرد و رفتار تعریف شده مبهم شامل حذف محدوده ناهمزمان را ممنوع کرد:

  • SourceBuffer.abort() دیگر عملیات SourceBuffer.remove() را لغو نمی کند.
  • تنظیم MediaSource.duration دیگر نمی تواند رسانه های بافر فعلی را کوتاه کند.

در حال حاضر در هر دوی این موارد استثنا وجود خواهد داشت.

سافاری و فایرفاکس مدت‌هاست که این رفتار را عرضه کرده‌اند، Chromium آخرین مرورگری است که با رفتار قدیمی باقی مانده است. شمارنده‌های استفاده نشان می‌دهند که حدود 0.001٪ - 0.005٪ از بارگذاری صفحه به رفتار منسوخ شده برخورد می کند. اگر سایتی با این مشکل مواجه شود، ممکن است اکنون پخش قطع شود.

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

باگ ردیابی #40474569 | ورودی ChromeStatus.com | مشخصات