Chrome 147

תאריך הגרסה היציבה: 7 באפריל 2026

אלא אם צוין אחרת, השינויים הבאים חלים על גרסה 147 של ערוץ יציב של Chrome ל-Android, ל-ChromeOS, ל-Linux, ל-macOS ול-Windows.

CSS וממשק משתמש

מעברי תצוגה בהיקף של רכיב

הפונקציה element.startViewTransition() חשופה לרכיבי HTML שרירותיים. הרכיב מגדיר היקף למעבר, כלומר, פסאודו-רכיבי המעבר מושפעים מקליפים ומטרנספורמציות של רכיבי אב, וכמה מעברים ברכיבים נפרדים יכולים לפעול בו-זמנית.

Tracking bug #394052227 | ChromeStatus.com entry | Spec

CSS contrast-color()

הפונקציה הזו עוזרת לעמוד בדרישות הניגודיות לצורך נגישות.

אפשר להשתמש בפונקציה contrast-color() בכל מקום בשירות CSS שבו נדרש ערך צבע. הפונקציה מקבלת ארגומנט של ערך צבע ומחזירה 'שחור' או 'לבן', בהתאם לצבע שמספק את הניגודיות הכי גבוהה ביחס לארגומנט של הצבע.

Tracking bug #40142548 | ChromeStatus.com entry | Spec

טווח תאים בעל שם בציר הזמן scroll

התכונה הזו מרחיבה את קבוצת הטווחים בעלי השם של ציר הזמן של התצוגה, ומוסיפה את הטווח scroll לקבוצה הקיימת של entry, exit, cover ו-contain.

Tracking bug #41483848 | ChromeStatus.com entry | Spec

מאפיין CSS‏ border-shape

המאפיין border-shape ב-CSS מאפשר ליצור גבולות לא מלבניים בכל צורה שרוצים, למשל, מצולע, עיגול או shape().

למרות ש-border-shape מקבלת את אותן צורות כמו clip-path, היא שונה ממנה באופן מהותי. ‫border-shape מגדיר את הצורה של הגבול, מעצב אותו וגוזר רק את החלק הפנימי.

ל-border-shape יש שני סוגים: אחד שמשרטט צורה ואחד שממלא את השטח בין שתי צורות.

באג למעקב מס' 370041145 | רשומה ב-ChromeStatus.com | מפרט

ממשק CSSPseudoElement

הממשק CSSPseudoElement מייצג פסאודו-אלמנט ב-JavaScript.

הערך CSSPseudoElement מוחזר מ-Element.pseudo(type), כאשר type הוא ::after,‏ ::before או ::marker. ‫CSSPseudoElement הוא אובייקט proxy שמייצג פסאודו-אלמנט. בניגוד לאלמנט פסאודו, CSSPseudoElement תמיד קיים.

ל-CSSPseudoElement יש את המאפיינים והשיטות הבאים:

  • המאפיין type הוא מחרוזת שמייצגת את הסוג של פסאודו-אלמנט.
  • המאפיין element הוא רכיב המקור הסופי של פסאודו-האלמנט.
  • המאפיין parent הוא רכיב המקור של פסאודו-אלמנט (Element או CSSPseudoElement עבור פסאודו-אלמנטים מקוננים).
  • השיטה pseudo(type) מאחזרת פסאודו-אלמנטים מקוננים.

באג מעקב מס' 40639103 | ערך ב-ChromeStatus.com | מפרט

יעד פסאודו באירועים

אירועים ספציפיים כוללים עכשיו את .pseudoTarget, שהוא CSSPseudoElement (אם האינטראקציה הייתה עם פסאודו-אלמנט) או null.

כך אפשר לקבל מידע ספציפי יותר על מקור האירוע. לדוגמה, הוא מציין שבוצע קליק על ::after פסאודו-אלמנט, ולא רק על אלמנט המקור הסופי (Event.target). שימו לב ש-Event.target נשאר ללא שינוי, כך שהאירוע כולל רק מידע נוסף על האינטראקציה עם פסאודו-אלמנט.

האירועים הם UIEvent,‏ AnimationEvent ו-TransitionEvent.

עדיין אין תמיכה ב-mouseover,‏ mouseout,‏ mouseenter,‏ mouseleave ובמקבילים שלהם pointer* ב-Google Analytics.

באג מעקב מס' 40639103 | ערך ב-ChromeStatus.com | מפרט

ביטול הקישור בין נכסי *-width ו-*-style

גרסה Chrome 147 תואמת למפרטים מעודכנים של 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 משקפים גם את הערכים שצוינו.

השינוי הזה מיישר קו בין Chrome לבין Firefox ו-WebKit, שבהם ההתנהגות הזו כבר הוטמעה.

Tracking bug #393631108 | ChromeStatus.com entry | Spec

תמיכה במאפיין path ברכיב <textPath> של SVG

השינוי הזה מוסיף תמיכה במאפיין path ברכיב <textPath> של SVG. כך מפתחים יכולים להגדיר גיאומטריה של נתיב טקסט בתוך השורה באמצעות נתוני נתיב SVG, ואין צורך להגדיר בנפרד רכיבי <path>.

האלמנט <textPath> פותר את הגיאומטריה של נתיב הטקסט באמצעות הכללים הבאים:

  1. אם צוינו גם path וגם href, המערכת תשתמש בגיאומטריה ממאפיין path.
  2. אם קיים רק מאפיין path והניתוח שלו הצליח, המערכת משתמשת בהגדרת הנתיב המוטמעת.
  3. אם המאפיין path לא מופיע או שלא ניתן לנתח אותו, ומסופק מאפיין href, נעשה שימוש ברכיב <path> שאליו מתבצעת ההפניה כגיבוי.
  4. ההתנהגות הקיימת של מודעות href בלבד נשמרת ללא שינוי.

ההטמעה הזו פועלת לפי ההגדרה של מאפיין pathב-<textPath> במפרט SVG 2. התנהגות הרזולוציה עקבית עם מנועי דפדפנים אחרים, מה שמשפר את יכולת הפעולה ההדדית ואת התאימות לתקנים. הערה: אם מציינים גם את path וגם את href ב-<textPath>, עכשיו path מקבל עדיפות, בהתאם למפרט SVG 2.

באג למעקב מס' 374010056 | רשומה ב-ChromeStatus.com | מפרט

מכשיר

זיהוי מישור ב-WebXR

‫WebXR Plane Detection API מאפשר לאתרים לאחזר את קבוצת המישורים שזוהו בסביבת המשתמש. השיטה הזו דורשת פחות עבודה מהמפתחים והיא יעילה יותר משימוש בתכונה WebXR לחישת עומק. לדוגמה, מישורים כמו קירות שמוסתרים על ידי אובייקטים עדיין יכולים להיות מיוצגים באופן מלא אם המערכת מודעת לגבולות הקיר. במפת עומק יופיע הקיר, אבל אובייקטים שנמצאים לפניו יחלקו אותו, ויכול להיות שלא יאפשרו לראות את כל הקיר. בנוסף, מידע על תוויות סמנטיות נחשף כשהמכשיר מודע לתוויות כאלה והן מתאימות לקטגוריות מוגדרות מראש, מה שמאפשר להבין טוב יותר את העולם.

באג למעקב מס' 394636076 | רשומה ב-ChromeStatus.com | מפרט

DOM

נוספה תמיכה בסוגי מודולים של JSON וסגנון כ<link rel="modulepreload"> יעדים. ‫<link rel="modulepreload"> כבר נתמך ב-Chromium (ראו תכונה ב-Chromestatus), אבל כרגע הוא תומך רק בטעינה מראש של סקריפטים של מודולים כמו סקריפטים. התכונה הזו נועדה לגשר על פער בפונקציונליות, כי סקריפטים של מודולים ב-JSON וב-CSS נתמכים במקומות אחרים ב-Chromium, אבל לא כיעדים של <link rel="modulepreload">. אפשר לטעון מראש מודולים של סגנונות באמצעות <link rel="modulepreload" as="style" href="..."> ומודולים של JSON באמצעות <link rel="modulepreload" as="json" href="...">.

באג למעקב מס' 466888680 | רשומה ב-ChromeStatus.com | מפרט

ניתוח XML ב-Rust לתרחישים שאינם XSLT

הטמעה של מנתח XML של Rust בתרחישים שבהם לא נדרש עיבוד XSLT.

הכלי לניתוח קובצי XML ב-Rust משפר את האבטחה על ידי ביטול באגים של השחתת זיכרון בניתוח קובצי XML. הוא מחליף את השימוש ב-libxml2 (שנכתב ב-C) בחלופה בטוחה.

אנחנו מוציאים את XSLT משימוש. בזמן שהתהליך הזה נמשך, אתם יכולים כבר להשתמש בניתוח XML בטוח ב-Rust בתרחישים שבהם לא נדרש XSLT.

Tracking bug #466303347 | ChromeStatus.com entry

גרפיקה

שכבות WebXR

התכונה WebXR Layers מציעה דרך יעילה יותר לצייר תוכן סוחף.

בנוסף לתמיכה בטקסטורות מקוריות של צבע ועומק ובמערכי טקסטורות, הוא מספק גם תמיכה בסוגים שונים של שכבות שמנהל המערכת (בניגוד ל-JavaScript).

באג למעקב מס' 409255534 | רשומה ב-ChromeStatus.com | מפרט

JavaScript

Math.sumPrecise

הטמעה של הצעה ל-TC39 להוספת שיטה לסיכום של כמה ערכים ב-JavaScript.

מוסיפים שיטה Math.sumPrecise שמקבלת iterable ומחזירה את סכום הערכים ב-iterable באמצעות אלגוריתם מדויק יותר מסכימה פשוטה.

באג למעקב מס' 374310075 | רשומה ב-ChromeStatus.com | מפרט

רשת / קישוריות

מאפיין אחד (Request.isReloadNavigation)

המאפיין הבוליאני isReloadNavigation לקריאה בלבד נוסף לממשק Request של Fetch API. המאפיין הזה מציין אם בקשת הניווט הנוכחית הופעלה כטעינה מחדש שהופעלה על ידי המשתמש (לדוגמה, באמצעות הכפתור רענון, location.reload() או history.go(0)). האות הזה נחשף בעיקר באובייקט Request בתוך FetchEvent של Service Worker.

באג למעקב מס' 40487194 | רשומה ב-ChromeStatus.com | מפרט

ביצועים

עדכון המגבלות של Device Memory API

עדכונים לסדרה חדשה של ערכים אפשריים עבור Device Memory API:

  • ‫Android: ‏ 1, 2, 4, 8
  • אחרים: 2, 4, 8, 16, 32 הערכים האלה מחליפים את הערכים הישנים 0.25,‏ 0.5,‏ 1,‏ 2,‏ 4 ו-8, שכבר לא רלוונטיים.

כך מצמצמים את הסיכונים ליצירת טביעת אצבע דיגיטלית (fingerprinting) ברמה הנמוכה, כי יכולות המכשיר השתפרו מאז שהערכים האלה הוגדרו. היא גם מאפשרת שימוש טוב יותר במכשירים מתקדמים ופילוח שלהם, כפי שביקשו המפתחים. מידע נוסף מופיע במאמר בנושא בעיה בזיכרון המכשיר.

באג למעקב #454354290 | רשומה ב-ChromeStatus.com | מפרט

גישה לרשת המקומית (LNA)

מידע נוסף על LNA זמין במאמר גישה לרשת המקומית.

הגבלות גישה לרשת המקומית ב-service worker WindowClient.navigate()

לאחרונה הוספנו הגבלות על גישה לרשת המקומית (LNA) כדי למנוע מאתרים לשלוח בקשות לרשתות מקומיות ולמכשירים מקומיים באופן חד-צדדי. ההגבלות האלה נוספו לבקשות אחזור שמופעלות על ידי service worker, אבל לא לניווטים שמתבצעים על ידי service worker דרך WindowClient.navigate().

ההשקה הזו סוגרת את הפער הזה על ידי הוספת הגבלות LNA לשיחות ב-WindowClient.navigate(). הוא משתמש ב-WindowClient כיוזם הניווט כדי לקבוע אם הניווט הוא בקשת LNA.

ההגדרה הזו רלוונטית רק אם WindowClient שאליו עוברים הוא מסגרת משנה. בשלב הזה, Chrome לא אוכף הגבלות LNA על ניווטים במסגרת הראשית.

ערך ב-ChromeStatus.com

הגבלות גישה לרשת המקומית ב-WebTransport

מגביל את היכולת לשלוח בקשות לרשת המקומית של המשתמש באמצעות WebTransport, שמוגבל על ידי הנחיה לבקשת הרשאה.

בקשה ברשת מקומית היא כל בקשה מאתר ציבורי לכתובת IP מקומית או ל-loopback, או מאתר מקומי (לדוגמה, אינטראנט) ל-loopback. הגבלת היכולת של אתרים לבצע את הבקשות האלה באמצעות הרשאה מצמצמת את היכולת של האתרים להשתמש בבקשות האלה כדי ליצור טביעת אצבע של הרשת המקומית של המשתמש.

ההרשאה הזו מוגבלת להקשרים מאובטחים.

באג למעקב מס' 421216834 | רשומה ב-ChromeStatus.com | מפרט

הגבלות גישה לרשת המקומית ל-WebSockets

ההגבלות על גישה לרשת המקומית (LNA) יורחבו ויכללו גם WebSockets. חיבורי WebSockets לכתובות מקומיות מפעילים עכשיו הנחיות לבקשת הרשאה.

כל מדיניות LNA Enterprise הנוכחית עדיין חלה על ההגבלות של LNA WebSockets (LocalNetworkAccessAllowedForUrls,‏ LocalNetworkAccessBlockedForUrls ו-LocalNetworkAccessRestrictionsTemporaryOptOut).

באג למעקב מס' 421156866 | רשומה ב-ChromeStatus.com | מפרט

אפליקציות אינטרנט מבודדות (IWA)

Web Printing API

ה-API הזה מאפשר שילוב נרחב יותר עם פונקציונליות שקשורה למדפסות באפליקציות אינטרנט מבודדות.

ה-API הזה מיועד רק לאפליקציות אינטרנט מבודדות (IWA) ופועל לפי התהליך של אפליקציות אינטרנט מבודדות.

ממשק ה-API הזה מספק קבוצה של שיטות JavaScript שמאפשרות למפתחים לשלוח שאילתות למדפסות מקומיות, לשלוח משימות הדפסה למדפסות המתאימות ביותר ולנהל את האפשרויות והסטטוס של משימות ההדפסה. כדי לייצג את המושגים האלה, הוא מסתמך על שמות של מאפיינים ועל סמנטיקה ממפרטי פרוטוקול ההדפסה באינטרנט (IPP).

באג למעקב מס' 302505962 | רשומה ב-ChromeStatus.com | מפרט

גרסאות מקור לניסיון

טרום-עיבוד של iframes ממקורות צולבים

טעינה מראש של iframe חוצה-מקורות באמצעות כותרת תגובה להבעת הסכמה.

הדפדפנים מבצעים עכשיו טרום-עיבוד לכל המסגרות חוצות המקורות אם תגובת ה-HTTP של המסגרת ברמה העליונה כוללת את Supports-Loading-Mode: prerender-cross-origin-frames.

ניסוי מקור | באג למעקב מס' 440387014 | ערך ב-ChromeStatus.com | מפרט

אירוע מילוי אוטומטי

מילוי אוטומטי היא תכונה חשובה באינטרנט שמפחיתה את הקשיים בשימוש עבור מיליוני משתמשים מדי יום. עם זאת, כדי שהמילוי האוטומטי יפעל בצורה מהימנה בטפסים דינמיים בכמה הטמעות, נדרש מאמץ רב.

התכונה הזו מוסיפה אירוע autofill שמאפשר למפתחים לשנות את הטפסים שלהם כך שיתאימו לנתונים שמולאו אוטומטית, ולשלוח לדפדפן הודעה כשהם מסיימים.

ניסוי מקור | באג למעקב מס' 466333215 | רשומה ב-ChromeStatus.com | מפרט

WebNN

‫WebNN מאפשרת לאפליקציות ולמסגרות אינטרנטיות לנצל את שירותי מערכת ההפעלה המקוריים ללמידת מכונה ואת יכולות החומרה הבסיסיות שזמינות במחשב של המשתמש. כך אפשר להטמיע חוויות עקביות, יעילות ומהימנות של למידת מכונה באינטרנט.

ניסוי מקור | באג למעקב מס' 40206287 | ערך ב-ChromeStatus.com | מפרט

הוצאה משימוש והסרה

הסרת XSLT מוטבע ליצירת SVG

קובץ XML שנוצר במיוחד עשוי להכיל גיליון סגנונות XSL שמבצע טרנספורמציה של נתוני XML כלליים לקובץ SVG.

לדוגמה, אפשר לעיין ב-gist.github.com.

זהו מקרה מיוחד של עיבוד XSLT, שלפי מוני השימוש XSLPIInSVGImage (מזהה UseCounter‏ 5777) ו-XSLPIInSVGStandaloneDoc (מזהה UseCounter‏ 5778) שהצגנו לאחרונה, כמעט לא קיים באינטרנט. אנחנו רוצים להוציא אותו משימוש ולהסיר אותו לפני שנוציא משימוש את XSLT באופן מלא.

ההשקה הזו מתבצעת בסנכרון עם בדיקות ניסיוניות של מנתח XML מבוסס-Rust. השינוי לא יופעל באופן מיידי ב-100% מהמכשירים ב-Chrome 147.

Tracking bug #482223009 | ChromeStatus.com entry