تاریخ انتشار پایدار: 29 آوریل 2025
مگر اینکه خلاف آن ذکر شده باشد، تغییرات زیر در انتشار کانال پایدار Chrome 136 برای Android، ChromeOS، Linux، macOS و Windows اعمال میشود.
HTML و DOM
پشتیبانی از زبان CanvasTextDrawingStyles
عنصر <canvas>
DOM، مانند همه عناصر DOM، یک ویژگی lang
را میپذیرد که برای تعریف زبان خاص برای انتخاب فونت استفاده میشود (زمانی که فونتها دارای گلیفهای محلی خاص هستند). مرورگرها به این ویژگی احترام می گذارند. با این حال، هنگامی که یک OffscreenCanvas
ایجاد میشود، هیچ راهی برای تنظیم اطلاعات محلی وجود ندارد، احتمالاً منجر به حالتی میشود که بوم خارج از صفحه نتایج رندر شدهای تولید میکند که با بومهایی که خروجی آن در آن استفاده میشود متفاوت است. این ویژگی یک ویژگی lang
IDL را به CanvasTextDrawingStyles
اضافه می کند تا به توسعه دهندگان کنترل مستقیم زبان را برای ترسیم متن و معیارها بدهد.
باگ ردیابی #385006131 | ورودی ChromeStatus.com | مشخصات
CSS و UI
ویژگی dynamic-range-limit
صفحه را فعال می کند تا حداکثر روشنایی محتوای HDR را محدود کند.
باگ ردیابی #1470298 | ورودی ChromeStatus.com | مشخصات
پارتیشن :visited
برای حذف نشتهای تاریخچه مرور کاربر، عناصر لنگر فقط در صورتی که قبلاً از این سایت سطح بالا و مبدا قاب کلیک شده باشند، به صورت :visited
استایل داده میشوند.
یک استثنا برای "پیوندهای خود" وجود دارد، که در آن پیوندها به صفحات خود سایت را می توان به صورت :visited
استایل کرد، حتی اگر قبلاً روی آنها دقیقاً در این سایت سطح بالا و مبدا قاب کلیک نشده باشد. این معافیت فقط در فریمهای سطح بالا یا فریمهای فرعی که با فریم سطح بالا منشأ مشابهی دارند، فعال میشود. مزایای حفظ حریم خصوصی همچنان به دست می آید زیرا سایت ها از قبل می دانند که کاربر از کدام یک از صفحات فرعی آن بازدید کرده است، بنابراین هیچ اطلاعات جدیدی در معرض دید قرار نمی گیرد. این یک استثنای درخواستی جامعه بود که تجربه کاربر را بهبود می بخشد.
باگ ردیابی #1448609 | ورودی ChromeStatus.com | مشخصات
بدون پیشوند print-color-adjust
ویژگی print-color-adjust
به شما امکان می دهد رنگ ها را در صفحات وب چاپ شده تنظیم کنید. این همان -webkit-print-color-adjust
که قبلاً پشتیبانی میشود Chrome است، اما با نامی استاندارد.
نسخه پیشوند -webkit-
حذف نشده است.
اسناد MDN | باگ ردیابی #376381169 | ورودی ChromeStatus.com | مشخصات
تغییر نام نوع string
attr()
به raw-string
گروه کاری CSS تصمیم گرفته است که نوع string
attr()
را با raw-string
جایگزین کند.
بنابراین از Chrome 136 attr(data-foo string)
به attr(data-foo raw-string)
تبدیل می شود.
باگ ردیابی #400981738 | ورودی ChromeStatus.com | مشخصات
نوع آگنوستیک var()
بازگشتی
بخش بازگشتی تابع var()
نسبت به نوع خاصیت سفارشی که به آن ارجاع داده می شود اعتبار سنجی نمی کند.
باگ ردیابی #372475301 | ورودی ChromeStatus.com
API های وب
رویدادهای کلیک را به نشانگر گرفته شده ارسال کنید
اگر یک اشاره گر در حین ارسال رویداد pointerup
گرفته شود، رویداد click
اکنون به جای نزدیکترین جد مشترک رویدادهای pointerdown
و pointerup
طبق مشخصات رویداد UI به هدف گرفته شده ارسال می شود.
برای اشاره گرهای ضبط نشده، هدف click
بدون تغییر باقی می ماند.
باگ ردیابی #40851596 | ورودی ChromeStatus.com | مشخصات
نکات کامپایل صریح با نظرات جادویی
اجازه می دهد تا اطلاعاتی را در مورد اینکه کدام توابع باید مشتاقانه در فایل های جاوا اسکریپت تجزیه و کامپایل شوند، پیوست کنید.
اطلاعات به عنوان نظرات جادویی رمزگذاری شده است.
باگ ردیابی #13917 | ورودی ChromeStatus.com | مشخصات
آغازگر ناوبری را در کلید پارتیشن کش HTTP بگنجانید
طرح کلیدگذاری حافظه پنهان HTTP کروم بهروزرسانی شده است تا شامل یک بولی is-cross-site-main-frame-navigation
برای کاهش حملات نشت بین سایتی که شامل ناوبری سطح بالا میشود، باشد.
به طور خاص، این امر از حملات متقابل سایتی جلوگیری می کند که در آن مهاجم می تواند یک ناوبری سطح بالا را به یک صفحه معین آغاز کند و سپس به منبعی که توسط صفحه بارگذاری می شود هدایت شود تا اطلاعات حساس را با استفاده از زمان بندی بارگذاری استنتاج کند. این تغییر همچنین حریم خصوصی را با جلوگیری از استفاده یک سایت مخرب از ناوبری برای استنباط اینکه آیا کاربر قبلاً از یک سایت خاص بازدید کرده است، بهبود می بخشد.
باگ ردیابی #398784714 | ورودی ChromeStatus.com | مشخصات
مخاطبان محافظت شده: کمک های تبدیل متن
اسکریپتهای پیشنهاد و امتیازدهی مخاطب محافظتشده که با WebAssembly ارتباط دارند، باید دادههای رشتهای را به (و از) آرایههای بایتی تبدیل کنند (به عنوان مثال، برای ارسال رشتهها به داخل و خارج WebAssembly با ArrayBuffer «حافظه»). این دو تابع مستقل، protectedAudience.encodeUtf8
، و protectedAudience.decodeUtf8
را برای انجام این وظایف در حدود یک مرتبه کارآمدتر از انجام آن در جاوا اسکریپت فراهم می کند.
RegExp.escape
RegExp.escape یک روش ثابت است که یک رشته را می گیرد و یک نسخه فرار را برمی گرداند که ممکن است به عنوان یک الگو در داخل یک عبارت منظم استفاده شود.
به عنوان مثال:
const str = prompt("Please enter a string");
const escaped = RegExp.escape(str);
const re = new RegExp(escaped, 'g'); // handles reg exp special tokens with the replacement.
console.log(ourLongText.replace(re));
ورودی ChromeStatus.com | مشخصات
قوانین حدس و گمان: فیلد برچسب
این به توسعه دهندگان امکان می دهد تا فیلد برچسب را به قوانین حدس و گمان اضافه کنند. این فیلد اختیاری را می توان برای ردیابی منبع قوانین حدس و گمان استفاده کرد. به عنوان مثال، برای رفتار متفاوت با آنها در یک سرور واسطه. هر تگ مرتبط با یک حدس و گمان با هدر Sec-Speculation-Tags
ارسال می شود.
باگ ردیابی #381687257 | ورودی ChromeStatus.com | مشخصات
ProgressEvent را بهروزرسانی کنید تا از نوع double برای loaded
و total
استفاده کنید
ProgressEvent دارای ویژگی های loaded
و total
است که پیشرفت را نشان می دهد و نوع آنها unsigned long long
است.
با استفاده از این ویژگی، نوع این دو ویژگی به جای آن double
میشود، که به توسعهدهنده کنترل بیشتری روی مقدار میدهد. به عنوان مثال، توسعه دهندگان اکنون می توانند یک ProgressEvent با total
1 ایجاد کنند و loaded
از 0 به 1 به تدریج افزایش می یابد. اگر ویژگی max حذف شود، این با رفتار پیشفرض عنصر <progress>
HTML همراستا میشود.
ورودی ChromeStatus.com | مشخصات
حریم خصوصی و امنیت
گزارش های خط مشی مجوز برای iframes
یک نوع نقض جدید به نام «نقض خطمشی مجوزهای احتمالی» را معرفی میکند که فقط به خطمشی مجوزها (از جمله خطمشی فقط گزارش) و ویژگی allow
تنظیم شده در iframes برای تشخیص تضاد بین خطمشی مجوزهای اعمالشده با مجوزهای منتشر شده به iframes نگاه میکند.
باگ ردیابی #40941424 | ورودی ChromeStatus.com | مشخصات
کاهش اثر انگشت در اطلاعات هدر Accept-Language
مقدار اطلاعاتی را که رشته مقدار هدر Accept-Language
در درخواستهای HTTP و در navigator.languages نشان میدهد، کاهش میدهد. کروم به جای ارسال لیست کامل زبان های برگزیده کاربر در هر درخواست HTTP، اکنون ترجیح داده شده ترین زبان کاربر را در سربرگ Accept-Language ارسال می کند.
باگ ردیابی #1306905 | ورودی ChromeStatus.com
هویت
به روز رسانی FedCM
به FedCM اجازه میدهد تا چندین ارائهدهنده هویت را در یک گفتگو نشان دهد، با داشتن همه ارائهدهندگان در یک تماس get()
. این به توسعه دهندگان راه مناسبی برای ارائه همه ارائه دهندگان هویت پشتیبانی شده به کاربران ارائه می دهد.
Chrome 136 همچنین پشتیبانی از افزودن یک حساب دیگر در حالت غیرفعال FedCM را حذف می کند. این ویژگی اجازه می دهد تا دکمه استفاده از یک حساب دیگر را در کنار سایر حساب های IdP در انتخابگر نشان دهد. این ویژگی در حال حاضر استفاده نشده است، و مکالمات UX ما را به این باور رسانده است که پشتیبانی از آن منجر به جریان پیچیدهتری بدون سود زیاد میشود. این ویژگی همچنان در حالت فعال FedCM کار خواهد کرد.
باگ ردیابی #1348262 | ورودی ChromeStatus.com | مشخصات
ایجاد شرطی احراز هویت وب (ارتقای رمز عبور)
درخواستهای ایجاد شرطی WebAuthn به وبسایتها اجازه میدهد اعتبار رمز عبور موجود را به یک کلید عبور ارتقا دهند.
باگ ردیابی #377758786 | ورودی ChromeStatus.com | مشخصات
تصاویر و رسانه ها
حالت قطع شده AudioContext
حالت "interrupted"
را به AudioContextState
اضافه می کند. این حالت جدید به User Agent اجازه میدهد پخش را در حین دسترسی انحصاری صوتی (VoIP) یا زمانی که درب لپتاپ بسته است متوقف کند.
باگ ردیابی #374805121 | ورودی ChromeStatus.com | مشخصات
کنترل سطح ضبط شده
یک وب API که به برنامه های کاربردی وب اجازه می دهد:
- رویدادهای چرخ را به یک برگه ضبط شده منتقل کنید.
- سطح زوم یک برگه گرفته شده را بخوانید و تغییر دهید.
باگ ردیابی #1466247 | ورودی ChromeStatus.com | مشخصات
CapturedSurfaceResolution
هنگام اشتراکگذاری صفحه نمایش، نسبت پیکسل سطح گرفته شده را در معرض نمایش قرار دهید.
این ویژگی به برنامهها کمک میکند تا منابع سیستم خود را حفظ کنند یا کیفیت را بر روی تبادل پهنای باند مطابق با وضوح فیزیکی و منطقی سطح ضبطشده تطبیق دهند.
باگ ردیابی #383946052 | ورودی ChromeStatus.com | مشخصات
پشتیبانی از کدک H265 (HEVC) در WebRTC
پس از این تغییر، HEVC به VP8، H.264، VP9 و AV1 به عنوان کدک های پشتیبانی شده در WebRTC می پیوندد. پشتیبانی با استفاده از MediaCapabilities API قابل استعلام خواهد بود.
باگ ردیابی #391903235 | ورودی ChromeStatus.com | مشخصات
کدک H26x بهروزرسانیهای MediaRecorder را پشتیبانی میکند
API MediaRecorder Chromium اکنون از رمزگذاری HEVC پشتیبانی میکند، رشته کدک hvc1.* را معرفی میکند و کدکهای جدیدی (hev1.* و avc3.*) را اضافه میکند که از ویدئو با وضوح متغیر در MP4 پشتیبانی میکنند.
پشتیبانی از رمزگذاری پلت فرم HEVC در WebCodecs در Chromium M130 اضافه شد. در ادامه، پشتیبانی به MediaRecorder API در Chromium اضافه شده است. API اکنون از هر دو نوع MP4 و Matroska muxer با مشخصات مختلف HEVC و H.264 mime پشتیبانی می کند. رمزگذاری HEVC تنها در صورتی پشتیبانی می شود که دستگاه و سیستم عامل کاربر قابلیت های لازم را داشته باشند.
استفاده از DOMPointInit
برای getCharNumAtPosition
، isPointInFill
، isPointInStroke
این تغییر کد Chromium را با آخرین مشخصات W3C برای SVGGeometryElement
و SVGPathElement
از نظر استفاده از DOMPointInit
در SVGPoint
برای getCharNumAtPosition
، isPointInFill
، isPointInStroke
مطابقت میدهد.
باگ ردیابی #40572887 | ورودی ChromeStatus.com | مشخصات
WebGPU: ویژگی GPUAdapterInfo
isFallbackAdapter
ویژگی بولین GPUAdapterInfo
isFallbackAdapter
نشان میدهد که آیا آداپتور دارای محدودیتهای عملکرد قابل توجهی در ازای سازگاری گستردهتر، رفتار قابل پیشبینیتر یا حفظ حریم خصوصی بهبود یافته است. توجه داشته باشید که ممکن است آداپتور بازگشتی در همه سیستم ها وجود نداشته باشد.
باگ ردیابی #403172841 | ورودی ChromeStatus.com | مشخصات
تغییرات مرورگر
نوارهای پیمایش روان
این ویژگی نوارهای اسکرول Chromium (هم روکشی و هم بدون پوشش) را در ویندوز و لینوکس مدرن می کند تا با زبان طراحی Fluent ویندوز 11 مطابقت داشته باشد.
نوارهای پیمایش Fluent بدون پوشش به طور پیش فرض در لینوکس و ویندوز فعال خواهند شد. این تغییر برای لینوکس نیز اعمال میشود، زیرا طراحی نوار اسکرول لینوکس Chromium در طول تاریخ با آنچه در ویندوز ارائه میشود، همسو بوده است. نحوه نمایش نوارهای پیمایش همپوشانی فعال Fluent هنوز در حال تصمیم گیری است.
باگ ردیابی #1292117 | ورودی ChromeStatus.com
آزمایش های مبدا
Audio Output Devices API: setDefaultSinkId()
این ویژگی setDefaultSinkId()
را به MediaDevices
اضافه میکند، که قاب سطح بالا را قادر میسازد تا دستگاه خروجی صدای پیشفرض مورد استفاده توسط فریمهای فرعی خود را تغییر دهد.
Origin Trial | ورودی ChromeStatus.com | مشخصات
برنامه های وب را برای درک زمان بندی عملکرد دووجهی فعال کنید
برنامه های کاربردی وب ممکن است به دلیل عوامل خارج از کنترل برنامه وب، از توزیع دووجهی در عملکرد بارگذاری صفحه رنج ببرند. به عنوان مثال:
- هنگامی که یک عامل کاربر برای اولین بار راه اندازی می شود (سناریوی "شروع سرد")، باید بسیاری از وظایف اولیه گران قیمت را انجام دهد که برای منابع موجود در سیستم رقابت می کنند.
- افزونه های مرورگر می توانند بر عملکرد یک وب سایت تأثیر بگذارند. به عنوان مثال، برخی از برنامههای افزودنی در هر صفحهای که بازدید میکنید، کد اضافی را اجرا میکنند، که میتواند استفاده از CPU را افزایش دهد و زمان پاسخدهی را کاهش دهد.
- هنگامی که یک ماشین مشغول انجام کارهای فشرده است، می تواند منجر به بارگذاری کندتر صفحات وب شود.
یک فیلد confidence
جدید در شی PerformanceNavigationTiming
به توسعه دهندگان این امکان را می دهد تا تشخیص دهند که آیا زمان بندی ناوبری نماینده برنامه وب آنها است یا خیر.
Origin Trial | باگ ردیابی #1413848 | ورودی ChromeStatus.com | مشخصات
به روز رسانی اجرای رندر متن Canvas
این یک تغییر تحت وب نیست.
اجرای CanvasRenderingContext2D
measureText()
، fillText()
و strokeText()
یک تغییر شدید دارد. این ممکن است بر عملکرد تأثیر بگذارد، بنابراین ما میخواهیم یک آزمایش اولیه اجرا کنیم تا برنامههای کاربردی سنگین بتوانند اجرای جدید را امتحان کنند.
Origin Trial | باگ ردیابی #389726691 | ورودی ChromeStatus.com
محرومیت ها و حذف ها
حذف HTMLFencedFrameElement.canLoadOpaqueURL()
روش HTMLFencedFrameElement
canLoadOpaqueURL()
با navigator.canLoadAdAuctionFencedFrame()
در سال 2023 جایگزین شد و فراخوانی آن از زمانی که به API جدید اشاره کرد منجر به یک هشدار کنسول منسوخ شد. این روش از Chrome 136 حذف شده است.