کروم ۱۴۷

تاریخ انتشار پایدار: ۷ آوریل ۲۰۲۶

مگر اینکه خلاف آن ذکر شده باشد، تغییرات زیر در مورد نسخه پایدار کانال کروم ۱۴۷ برای اندروید، کروم او اس، لینوکس، مک او اس و ویندوز اعمال می‌شود.

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

انتقال‌های نمای محدود به عنصر

تابع element.startViewTransition() ‎ را روی عناصر دلخواه HTML اعمال می‌کند. این عنصر، محدوده‌ای برای گذار ایجاد می‌کند، به این معنی که شبه عناصر گذار تحت تأثیر کلیپ‌ها و تبدیل‌های اجداد قرار می‌گیرند و چندین گذار روی عناصر جداگانه می‌توانند همزمان اجرا شوند.

اشکال ردیابی شماره ۳۹۴۰۵۲۲۲۷ | ورودی ChromeStatus.com | مشخصات

contrast-color()

این عملکرد به شما کمک می‌کند تا الزامات کنتراست برای دسترسی‌پذیری را برآورده کنید.

شما می‌توانید از تابع contrast-color() در هر جایی از CSS که مقدار رنگ مورد انتظار است، استفاده کنید. این تابع یک آرگومان مقدار رنگ دریافت می‌کند و بسته به اینکه کدام یک بیشترین کنتراست را در برابر آرگومان رنگ ایجاد می‌کند، مقدار «سیاه» یا «سفید» را برمی‌گرداند.

اشکال ردیابی شماره ۴۰۱۴۲۵۴۸ | ورودی ChromeStatus.com | مشخصات

scroll محدوده نامگذاری شده در تایم‌لاین

این ویژگی با افزودن یک محدوده scroll به مجموعه موجود entry ، exit ، cover و contain ، مجموعه محدوده‌های نامگذاری شده برای خطوط زمانی نمایش را گسترش می‌دهد.

اشکال ردیابی شماره ۴۱۴۸۳۸۴۸ | ورودی ChromeStatus.com | مشخصات

ویژگی border-shape در CSS

ویژگی border-shape در CSS به شما امکان می‌دهد حاشیه‌های غیرمستطیلی با هر شکل دلخواهی، مثلاً چندضلعی، دایره یا shape() ایجاد کنید.

اگرچه border-shape همان شکل‌های تابع clip-path را می‌پذیرد، اما اساساً متفاوت است. border-shape شکل حاشیه را تعریف می‌کند، آن را تزئین می‌کند و فقط قسمت داخلی آن را برش می‌دهد.

border-shape دو نوع دارد: یکی که دور یک شکل را خط می‌کشد و دیگری که بین دو شکل را پر می‌کند.

اشکال ردیابی شماره ۳۷۰۰۴۱۱۴۵ | ورودی ChromeStatus.com | مشخصات

رابط CSSPseudoElement

رابط CSSPseudoElement یک شبه عنصر در جاوا اسکریپت را نشان می‌دهد.

CSSPseudoElement از Element.pseudo(type) برگردانده می‌شود، که در آن type در حال حاضر ::after ، ::before یا ::marker است. CSSPseudoElement یک شیء پروکسی است که یک شبه عنصر را نشان می‌دهد. برخلاف یک شبه عنصر، یک CSSPseudoElement همیشه وجود دارد.

CSSPseudoElement دارای ویژگی‌ها و متدهای زیر است:

  • ویژگی type ، رشته‌ای است که نوع شبه عنصر را نشان می‌دهد.
  • ویژگی element ، عنصر اولیه نهایی شبه عنصر است.
  • ویژگی parent ، عنصر اولیه‌ی شبه‌عنصر است (یا Element یا CSSPseudoElement برای شبه‌عنصرهای تودرتو).
  • متد pseudo(type) شبه عناصر تو در تو را بازیابی می‌کند.

اشکال ردیابی شماره ۴۰۶۳۹۱۰۳ | ورودی ChromeStatus.com | مشخصات

هدف کاذب در رویدادها

رویدادهای خاص اکنون شامل یک .pseudoTarget هستند که یا CSSPseudoElement است (اگر تعامل با یک شبه عنصر بوده باشد) یا null .

این اطلاعات دقیق‌تری در مورد منشأ رویداد ارائه می‌دهد. برای مثال، نشان می‌دهد که روی یک شبه‌عنصر ::after کلیک شده است، نه فقط روی عنصر مبدأ نهایی ( Event.target ). توجه داشته باشید که Event.target بدون تغییر باقی می‌ماند، بنابراین رویداد فقط اطلاعات اضافی در مورد تعامل شبه‌عنصر دارد.

این رویدادها عبارتند از UIEvent ، AnimationEvent و TransitionEvent .

mouseover ، mouseout ، mouseenter ، mouseleave ، و همتایان pointer* آنها هنوز پشتیبانی نمی شوند.

اشکال ردیابی شماره ۴۰۶۳۹۱۰۳ | ورودی ChromeStatus.com | مشخصات

ویژگی‌های *-width و *-style را از هم جدا کنید

کروم ۱۴۷ با مشخصات به‌روزرسانی‌شده‌ی CSS برای رفتار ویژگی‌های border-width ، outline-width و column-rule-width همسو شده است. پیش از این، اگر border-style ، outline-style یا column-rule-style مربوطه روی none یا hidden تنظیم می‌شدند، عرض محاسبه‌شده‌ی این ویژگی‌ها صرف نظر از مقدار مشخص‌شده، به 0px محدود می‌شد.

با این تغییر، مقادیر محاسبه‌شده‌ی border-width ، outline-width و column-rule-width همیشه مقادیر مشخص‌شده توسط نویسنده را منعکس می‌کنند، مستقل از ویژگی *-style . علاوه بر این، مقادیر حل‌شده (همانطور که توسط getComputedStyle() برگردانده می‌شود) برای outline-width و column-rule-width نیز مقادیر مشخص‌شده را منعکس می‌کنند.

این تغییر، کروم را در کنار فایرفاکس و وب‌کیت قرار می‌دهد که قبلاً این رفتار را پیاده‌سازی کرده‌اند.

اشکال ردیابی شماره ۳۹۳۶۳۱۱۰۸ | ورودی ChromeStatus.com | مشخصات

پشتیبانی از ویژگی path در عنصر <textPath> در SVG

این تغییر پشتیبانی از ویژگی path را در عنصر <textPath> در SVG اضافه می‌کند. این به توسعه‌دهندگان اجازه می‌دهد تا هندسه مسیر متن را به صورت درون‌خطی با استفاده از داده‌های مسیر SVG تعریف کنند و نیاز به عناصر <path> را که به صورت جداگانه تعریف شده‌اند، کاهش می‌دهد.

عنصر <textPath> هندسه مسیر متن خود را با استفاده از قوانین زیر تعیین می‌کند:

  1. اگر هر دو path و href وجود داشته باشند، هندسه از ویژگی path استخراج می‌شود.
  2. اگر فقط ویژگی path وجود داشته باشد و با موفقیت تجزیه شود، از تعریف مسیر درون‌خطی استفاده می‌شود.
  3. اگر ویژگی path وجود نداشته باشد یا تجزیه نشود، و ویژگی href ارائه شده باشد، عنصر <path> ارجاع داده شده به عنوان جایگزین استفاده می‌شود.
  4. رفتار href -only موجود بدون تغییر حفظ می‌شود.

این پیاده‌سازی از تعریف مشخصه path در <textPath> در مشخصات SVG 2 پیروی می‌کند. رفتار تفکیک‌پذیری با سایر موتورهای مرورگر سازگار است، که قابلیت همکاری و انطباق با استانداردها را بهبود می‌بخشد. توجه: هنگامی که هر دو path و href در <textPath> مشخص می‌شوند، طبق مشخصات SVG 2، اکنون path اولویت دارد.

اشکال ردیابی شماره ۳۷۴۰۱۰۰۵۶ | ورودی ChromeStatus.com | مشخصات

دستگاه

تشخیص سطح WebXR

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

اشکال ردیابی شماره ۳۹۴۶۳۶۰۷۶ | ورودی ChromeStatus.com | مشخصات

دام

پشتیبانی از انواع ماژول‌های JSON و style را به عنوان مقصد <link rel="modulepreload"> اضافه می‌کند. <link rel="modulepreload"> از قبل در Chromium پشتیبانی می‌شود (به ویژگی Chromestatus مراجعه کنید)، اما در حال حاضر فقط از پیش‌بارگذاری اسکریپت‌های ماژول مانند اسکریپت پشتیبانی می‌کند. این ویژگی یک شکاف عملکردی را برطرف می‌کند زیرا اسکریپت‌های ماژول JSON و CSS در Chromium در جاهای دیگر پشتیبانی می‌شوند اما نه به عنوان مقصد <link rel="modulepreload"> . می‌توانید ماژول‌های style را با <link rel="modulepreload" as="style" href="..."> و ماژول‌های JSON را با <link rel="modulepreload" as="json" href="..."> .

اشکال ردیابی شماره ۴۶۶۸۸۶۸۰ | ورودی ChromeStatus.com | مشخصات

تجزیه XML در Rust برای سناریوهای غیر XSLT

تجزیه‌کننده Rust XML را برای سناریوهایی که نیازی به پردازش XSLT نیست، پیاده‌سازی می‌کند.

تجزیه‌کننده Rust XML با حذف اشکالات خرابی حافظه در تجزیه XML، امنیت را بهبود می‌بخشد. این تجزیه‌کننده، استفاده از libxml2 (نوشته شده با زبان C) را با یک جایگزین امن جایگزین می‌کند.

ما XSLT را منسوخ می‌کنیم. در حالی که این فرآیند ادامه دارد، می‌توانید از تجزیه امن XML در Rust در سناریوهایی که XSLT مورد نیاز نیست، استفاده کنید.

اشکال ردیابی شماره ۴۶۶۳۰۳۳۴۷ | ورودی ChromeStatus.com

گرافیک

لایه‌های WebXR

لایه‌های WebXR روشی کارآمدتر برای ترسیم محتوای فراگیر ارائه می‌دهند.

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

اشکال ردیابی شماره ۴۰۹۲۵۵۳۴ | ورودی ChromeStatus.com | مشخصات

جاوا اسکریپت

Math.sumPrecise

یک پیشنهاد TC39 برای اضافه کردن روشی برای جمع کردن چندین مقدار در جاوا اسکریپت پیاده‌سازی می‌کند.

یک متد Math.sumPrecise با قابلیت تکرارپذیری اضافه کنید که مجموع مقادیر موجود در تکرارپذیری را با استفاده از الگوریتمی دقیق‌تر از جمع ساده‌لوحانه برمی‌گرداند.

اشکال ردیابی شماره ۳۷۴۳۱۰۰۷۵ | ورودی ChromeStatus.com | مشخصات

شبکه / اتصال

ویژگی Request.isReloadNavigation

ویژگی بولی فقط خواندنی isReloadNavigation به رابط Request Fetch API اضافه می‌کند. این ویژگی نشان می‌دهد که آیا درخواست ناوبری فعلی به عنوان یک بارگذاری مجدد توسط کاربر آغاز شده است یا خیر (برای مثال، با استفاده از دکمه Refresh ، location.reload() یا history.go(0) ). این سیگنال در درجه اول در شیء Request درون FetchEvent یک Service Worker نمایش داده می‌شود.

اشکال ردیابی شماره ۴۰۴۸۷۱۹۴ | ورودی ChromeStatus.com | مشخصات

عملکرد

محدودیت‌های API حافظه دستگاه را به‌روزرسانی کنید

به‌روزرسانی‌های مجموعه جدیدی از مقادیر ممکن برای رابط برنامه‌نویسی کاربردی حافظه دستگاه:

  • اندروید: ۱، ۲، ۴، ۸
  • سایر: ۲، ۴، ۸، ۱۶، ۳۲ این مقادیر جایگزین مقادیر قدیمی ۰.۲۵، ۰.۵، ۱، ۲، ۴ و ۸ می‌شوند که منسوخ شده‌اند.

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

اشکال ردیابی شماره ۴۵۴۳۵۴۲۹۰ | ورودی ChromeStatus.com | مشخصات

دسترسی به شبکه محلی (LNA)

برای اطلاعات بیشتر در مورد LNA، به دسترسی به شبکه محلی مراجعه کنید.

محدودیت‌های دسترسی به شبکه محلی روی سرویس ورکر WindowClient.navigate()

محدودیت‌های دسترسی به شبکه محلی (LNA) اخیراً اضافه شده‌اند تا از ارسال یک‌جانبه درخواست‌ها به شبکه‌های محلی و دستگاه‌های محلی توسط وب‌سایت‌ها جلوگیری شود. این محدودیت‌ها برای درخواست‌های واکشی آغاز شده توسط سرویس ورکرها اضافه شده‌اند، اما برای پیمایش‌هایی که سرویس ورکرها از طریق WindowClient.navigate() انجام می‌دهند، اعمال نشده‌اند.

این راه‌اندازی با اضافه کردن محدودیت‌های LNA به فراخوانی‌های WindowClient.navigate() این شکاف را پر می‌کند. این روش از WindowClient به عنوان آغازگر ناوبری برای تعیین اینکه آیا ناوبری یک درخواست LNA است یا خیر، استفاده می‌کند.

این فقط در صورتی اعمال می‌شود که WindowClient مورد پیمایش یک زیرفریم باشد. کروم در حال حاضر هیچ محدودیت LNA را بر پیمایش‌های فریم اصلی اعمال نمی‌کند.

ورودی ChromeStatus.com

محدودیت‌های دسترسی به شبکه محلی برای WebTransport

امکان ارسال درخواست به شبکه محلی کاربر با استفاده از WebTransport را محدود می‌کند، که این امر مستلزم دریافت مجوز است.

درخواست شبکه محلی، هر درخواستی از یک وب‌سایت عمومی به یک آدرس IP محلی یا loopback، یا از یک وب‌سایت محلی (به عنوان مثال، یک اینترانت) به loopback است. محدود کردن توانایی وب‌سایت‌ها برای انجام این درخواست‌ها با مجوز، توانایی سایت‌ها را در استفاده از این درخواست‌ها برای شناسایی شبکه محلی کاربر کاهش می‌دهد.

این مجوز محدود به زمینه‌های امن است.

اشکال ردیابی شماره ۴۲۱۲۱۶۸۳۴ | ورودی ChromeStatus.com | مشخصات

محدودیت‌های دسترسی به شبکه محلی برای WebSockets

محدودیت‌های دسترسی به شبکه محلی (LNA) در حال گسترش است تا WebSockets را نیز شامل شود. اتصالات WebSockets به آدرس‌های محلی اکنون باعث ایجاد درخواست‌های مجوز می‌شود.

تمام سیاست‌های سازمانی فعلی LNA همچنان بر محدودیت‌های LNA WebSockets ( LocalNetworkAccessAllowedForUrls ، LocalNetworkAccessBlockedForUrls و LocalNetworkAccessRestrictionsTemporaryOptOut ) اعمال می‌شوند.

اشکال ردیابی شماره ۴۲۱۱۵۶۸۶۶ | ورودی ChromeStatus.com | مشخصات

برنامه‌های وب ایزوله (IWA)

رابط برنامه‌نویسی کاربردی چاپ وب

این API امکان ادغام عمیق‌تر با قابلیت‌های مرتبط با چاپگر در برنامه‌های وب مجزا را فراهم می‌کند.

این API فقط برنامه‌های وب ایزوله (Isolated Web Apps) را هدف قرار می‌دهد و از فرآیند برنامه‌های وب ایزوله (Isolated Web Apps) پیروی می‌کند.

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

اشکال ردیابی شماره 302505962 | ورودی ChromeStatus.com | مشخصات

آزمایش‌های مبدا

iframes با منبع متقاطع اجرا کنید

آی‌فریم‌های بین‌منبعی را با استفاده از یک هدر پاسخ انتخابی، پیش‌رندر می‌کند.

مرورگرها اکنون تمام فریم‌های cross-origin را در صورتی که پاسخ HTTP فریم سطح بالا شامل Supports-Loading-Mode: prerender-cross-origin-frames پیش‌رندر می‌کنند.

نسخه آزمایشی Origin | باگ ردیابی شماره ۴۴۰۳۸۷۰۱۴ | ورودی ChromeStatus.com | مشخصات

رویداد تکمیل خودکار

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

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

نسخه آزمایشی Origin | باگ ردیابی شماره ۴۶۶۳۳۲۱۵ | ورودی ChromeStatus.com | مشخصات

وب‌ان‌ان

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

نسخه آزمایشی Origin | باگ ردیابی شماره ۴۰۲۰۶۲۸۷ | ورودی ChromeStatus.com | مشخصات

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

حذف XSLT درون خطی برای تولید SVG

یک فایل XML که به طور خاص ساخته شده است، ممکن است حاوی یک فایل XSL stylesheet باشد که داده‌های XML عمومی را به یک فایل SVG تبدیل می‌کند.

برای مثال، به gist.github.com مراجعه کنید.

این یک مورد خاص از پردازش XSLT است که طبق شمارنده‌های استفاده‌ی اخیراً معرفی‌شده‌ی XSLPIInSVGImage (شناسه‌ی UseCounter 5777) و XSLPIInSVGStandaloneDoc (شناسه‌ی UseCounter 5778)، ما عملاً آن را در وب ناموجود می‌دانیم. ما می‌خواهیم قبل از حذف کامل XSLT، آن را منسوخ و حذف کنیم.

این قابلیت همزمان با آزمایش‌های تجربی تجزیه‌کننده XML مبتنی بر Rust منتشر می‌شود. این قابلیت بلافاصله در کروم ۱۴۷ به طور ۱۰۰٪ فعال نخواهد شد.

اشکال ردیابی شماره ۴۸۲۲۳۰۰۹ | ورودی ChromeStatus.com