کروم 138 بتا

منتشر شده: ۲۸ مه ۲۰۲۵

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

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

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

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

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

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

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

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

sibling-index() و sibling-count() در CSS

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

li {
  animation-delay: calc(0.1s * sibling-index());
}

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

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

API شمارش بخش‌های Viewport

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

API های وب

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

مقادیر rotation: int و flip: bool به رابط‌های مختلف مرتبط با ویدیو در WebCodecs معرفی می‌کند تا توسعه‌دهندگان بتوانند با منابع فریم که دارای جهت‌گیری هستند (به عنوان مثال، دوربین‌های اندروید و رسانه‌های خاص) کار کنند. رابط VideoFrame قابلیت ایجاد VideoFrames با چرخش و چرخش دلخواه و همچنین دسترسی‌دهنده‌هایی برای این اطلاعات در شیء VideoFrame را افزایش می‌دهد. شیء VideoDecoderConfig فیلدهای rotation و flip را که به طور خودکار روی اشیاء VideoFrame رمزگشایی شده منتشر می‌شوند، به دست می‌آورد. کلاس VideoEncoder مکانیسم‌هایی را برای انتقال اطلاعات چرخش و چرخش از encode() به VideoDecoderConfig که به عنوان بخشی از EncodedVideoChunkMetadata منتشر می‌شود، به دست می‌آورد. اگر encode() با فریم‌هایی با جهت‌گیری متفاوت فراخوانی شود، خطای nonfatalatal رخ می‌دهد. می‌توان از متد configure() برای تنظیم مجدد جهت‌گیری مجاز استفاده کرد.

API گزارش خرابی: is_top_level و visibility_state

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

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

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

سیاست یکپارچگی برای اسکریپت‌ها

یکپارچگی زیرمنبع (SRI) به توسعه‌دهندگان این امکان را می‌دهد که مطمئن شوند دارایی‌هایی که قصد بارگذاری آنها را دارند، واقعاً همان دارایی‌هایی هستند که بارگذاری می‌کنند. اما در حال حاضر هیچ راهی برای توسعه‌دهندگان وجود ندارد تا مطمئن شوند که تمام اسکریپت‌های آنها با استفاده از SRI اعتبارسنجی می‌شوند. هدر Integrity-Policy به توسعه‌دهندگان این امکان را می‌دهد که ادعا کنند هر منبع از یک نوع خاص باید از نظر یکپارچگی بررسی شود. اگر تلاش شود منبعی از آن نوع بدون ابرداده یکپارچگی بارگذاری شود، آن تلاش با شکست مواجه شده و گزارش تخلف را ایجاد می‌کند.

سهمیه ذخیره‌سازی گزارش‌شده قابل پیش‌بینی

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

این یک راهکار کاهش حجم است که با گزارش سهمیه‌بندی مصنوعی، برابر با میزان استفاده + دقیقه (۱۰ گیگابایت، دیسک به نزدیکترین ۱ گیگابایت گرد می‌شود)، در تمام حالت‌های مرور برای سایت‌هایی با مجوزهای ذخیره‌سازی محدود، از شناسایی حالت مرور کاربر با استفاده از API ذخیره‌سازی جلوگیری می‌کند. سایت‌هایی با مجوزهای ذخیره‌سازی نامحدود تحت تأثیر قرار نخواهند گرفت. سهمیه‌بندی اجباری نیز تحت تأثیر قرار نخواهد گرفت.

رویداد pushsubscriptionchange هنگام اشتراک مجدد

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

قوانین حدس و گمان: prefetchCache و prerenderCache را به هدر Clear-Site-Data اضافه کنید

دو مقدار جدید برای هدر Clear-Site-Data برای کمک به توسعه‌دهندگان در پاکسازی حافظه پنهان prerender و prefetch: prefetchCache و prerenderCache . این مقادیر می‌توانند در هر درخواستی ارسال شوند و نیازی به ایجاد آنها در درخواست سند نیست (برای مثال، می‌توانند در پاسخ‌های فراخوانی API برای افزودن به سبد خرید یا ورود و خروج برای پاک کردن گمانه‌زنی‌ها در مورد تغییر وضعیت، بازگردانده شوند).

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

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

سیاست سختگیرانه‌ی «همان مبدأ» برای API دسترسی به فضای ذخیره‌سازی

معنای API دسترسی به حافظه را طوری تنظیم می‌کند که از نظر امنیتی دقیقاً از سیاست مبدا یکسان پیروی کند. یعنی، استفاده از document.requestStorageAccess() در یک فریم، کوکی‌ها را به طور پیش‌فرض فقط به درخواست‌های مبدا iframe (نه سایت) متصل می‌کند.

خلاصه‌کننده API

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

برای کسب اطلاعات بیشتر به بخش «خلاصه‌های مختصر با هوش مصنوعی داخلی» مراجعه کنید.

API تشخیص زبان

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

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

برای کسب اطلاعات بیشتر به بخش «تشخیص زبان مورد استفاده با هوش مصنوعی داخلی» مراجعه کنید.

رابط برنامه‌نویسی مترجم

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

برای اطلاعات بیشتر به بخش ترجمه با هوش مصنوعی داخلی مراجعه کنید.

افزونه‌های دامنه برنامه وب

یک فیلد مانیفست برنامه وب "scope_extensions" اضافه می‌کند که به برنامه‌های وب اجازه می‌دهد دامنه خود را به سایر ریشه‌ها گسترش دهند. این به سایت‌هایی که چندین زیردامنه و دامنه سطح بالا را کنترل می‌کنند اجازه می‌دهد تا به عنوان یک برنامه وب واحد ارائه شوند. برای تأیید ارتباط با برنامه وب با استفاده از فایل پیکربندی .well-known/web-app-origin-association ، به ریشه‌های فهرست‌شده نیاز دارد.

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

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

منسوخ‌ها و حذف‌ها

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

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

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

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

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

اکنون در هر دو مورد، استثنائات اعمال خواهد شد.

حذف پشتیبان SwiftShader

امکان بازگشت خودکار به WebGL که توسط رندرکننده نرم‌افزاری SwiftShader پشتیبانی می‌شود، منسوخ شده است و ایجاد زمینه WebGL به جای بازگشت به SwiftShader با شکست مواجه می‌شود. این کار به دو دلیل اصلی انجام شده است:

  1. SwiftShader به دلیل اجرای کد JIT-ed در فرآیند GPU کرومیوم، یک ریسک امنیتی بالا محسوب می‌شود.
  2. کاربران هنگام بازگشت از یک WebGL با عملکرد بالا و پشتیبانی‌شده توسط GPU به یک پیاده‌سازی پشتیبانی‌شده توسط CPU، تجربه ضعیفی دارند. کاربران هیچ کنترلی بر این رفتار ندارند و توصیف آن در گزارش‌های باگ دشوار است.

در طول دوره‌ی منسوخ شدن، هنگامی که یک زمینه‌ی WebGL ایجاد و با SwiftShader پشتیبانی می‌شود، یک هشدار در کنسول Chrome DevTools ظاهر می‌شود. ارسال --enable-unsafe-swiftshader این پیام هشدار را حذف می‌کند.