Chrome 140

תאריך הפרסום של הגרסה היציבה: 2 בספטמבר 2025

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

CSS

אריתמטיקה מוקלדת של CSS

אפשר להשתמש בחישובים עם טיפוס כדי לכתוב ביטויים ב-CSS כמו calc(10em / 1px) או calc(20% / 0.5em * 1px). הפונקציה הזו שימושית, למשל, בטיפוגרפיה, כי היא מאפשרת להמיר ערך מוקלד לערך לא מוקלד ולעשות בו שימוש חוזר במאפיינים שמקבלים מספרים. תרחיש שימוש נוסף הוא הכפלת הערך חסר היחידות בסוג אחר. לדוגמה, עכשיו אפשר להמיר מפיקסלים למעלות.

Tracking bug #40768696 | ChromeStatus.com entry | Spec

מאפיין CSS‏ caret-animation

‫Chromium תומך באנימציה של המאפיין caret-color. עם זאת, כשהסמן מונפש, התנהגות ברירת המחדל של ההבהוב מפריעה לאנימציה.

למאפיין caret-animation ב-CSS יש שני ערכים אפשריים: auto ו-manual. ‫auto מציין את ברירת המחדל של הדפדפן (הבהוב), ו-manual מציין שהמפתח שולט באנימציה של הסמן. בנוסף, משתמשים שמוטרדים מגירויים חזותיים מהבהבים או שיש להם תגובות שליליות לגירויים כאלה יכולים להשבית את ההבהוב באמצעות גיליון סגנונות של המשתמש.

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

highlightsFromPoint API

highlightsFromPoint API מאפשר למפתחים ליצור אינטראקציה עם רגעי השיא בהתאמה אישית. הוא מזהה אילו הדגשות קיימות בנקודה מסוימת במסמך. האינטראקטיביות הזו שימושית לתכונות מורכבות באתרים, שבהן יכול להיות שיהיו כמה הדגשות שחופפות או שקיימות ב-Shadow DOM. ה-API מספק זיהוי מדויק של רגעים חשובים על סמך נקודות, ומאפשר למפתחים לנהל אינטראקציות דינמיות עם רגעים חשובים מותאמים אישית בצורה יעילה יותר. לדוגמה, מפתחים יכולים להגיב ללחיצות של משתמשים או לאירועי ריחוף באזורים מודגשים כדי להפעיל תיאורי כלים מותאמים אישית, תפריטי הקשר או תכונות אינטראקטיביות אחרות.

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

אפשרות ScrollIntoView מאגר

אפשרות הקונטיינר ScrollIntoViewOptions מאפשרת למפתחים לבצע פעולה scrollIntoView שגורמת לגלילה רק בקונטיינר הגלילה הקרוב ביותר ברמת ההיררכיה. לדוגמה, קטע הקוד הבא גורם רק לגלילה של מאגר הגלילה של target כדי להציג את target, אבל לא גורם לגלילה של כל מאגרי הגלילה לאזור התצוגה:

target.scrollIntoView({container: 'nearest'});

ChromeStatus.com entry | Spec

מעברים בין תצוגות: ירושה של מאפייני אנימציה נוספים

הוספה של מאפייני אנימציה נוספים להורשה דרך פסאודו-עץ המעבר בין התצוגות:

  • animation-timing-function
  • animation-iteration-count
  • animation-direction
  • animation-play-state

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

רכיבי פסאודו של מעברים יורשים את המאפיין animation-delay.

בנוסף לעדכון הקודם, עכשיו המאפיין animation-delay עובר בירושה דרך עץ פסאודו של מעבר תצוגה.

ChromeStatus.com entry | Spec

קבוצות מקוננות של מעברים בין תצוגות

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

Tracking bug #399431227 | ChromeStatus.com entry | Spec

הפצת אזור התצוגה overscroll-behavior מהרכיב הבסיסי

השינוי הזה מועבר overscroll-behavior מהשורש במקום מהגוף.

קבוצת העבודה בנושא CSS החליטה לא להפיץ מאפיינים מ-<body> אל אזור התצוגה. במקום זאת, מאפייני אזור התצוגה מועברים מהרכיב הבסיסי (<html>). לכן, הערך של overscroll-behavior צריך להיות מועבר מרכיב הבסיס. עם זאת, יש בעיה ותיקה ב-Chrome: הוא מעביר את overscroll-behavior מ-<body> ולא מהשורש. ההתנהגות הזו לא תואמת לדפדפנים אחרים. השינוי הזה מאפשר ל-Chrome לפעול בהתאם למפרט ולתקשר עם יישומים אחרים.

Tracking bug #41453796 | ChromeStatus.com entry | Spec

‫CSS counter() ו-counters() בטקסט החלופי של המאפיין content

התכונה הזו מאפשרת להשתמש בcounter() ובcounters() בטקסט החלופי של מאפיין content. כך אפשר לקבל מידע משמעותי יותר כדי לשפר את הנגישות.

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

מאפיין CSS‏ scroll-target-group

המאפיין scroll-target-group מציין אם הרכיב הוא מאגר של קבוצת סמני גלילה. אפשר להזין בו אחד מהערכים הבאים:

  • ‫'none': האלמנט לא יוצר מאגר של קבוצת סמני גלילה.
  • ‫auto: הרכיב יוצר קונטיינר של קבוצת סמני גלילה שכולל את כל רכיבי סמני הגלילה שהקונטיינר הזה הוא הקונטיינר הקרוב ביותר של קבוצת סמני הגלילה שלהם.

הגדרת מאגר של קבוצת סמני גלילה מאפשרת לכל רכיבי ה-HTML של העוגנים עם מזהה פרגמנט שנמצאים בתוך מאגר כזה להיות המקבילה ב-HTML של רכיבי פסאודו ::scroll-marker. אפשר להגדיר סגנון לאלמנט העוגן שכרגע מוצג ביעד הגלילה באמצעות פסאודו-הסיווג :target-current.

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

תיאור התמיכה בfont-variation-settings בכלל @font-face

שפת CSS מאפשרת למפתחים להתאים את עובי הגופן, הרוחב, הנטייה וצירים אחרים באמצעות המאפיין font-variation-settings ברכיבים ספציפיים. עם זאת, בדפדפנים שמבוססים על Chromium אין תמיכה במאפיין הזה בהצהרות @font-face. התכונה הזו תומכת בתחביר מבוסס-מחרוזת של font-variation-settings כפי שמוגדר ב-CSS Fonts Level 4. המערכת מתעלמת מתגי תכונות לא חוקיים או לא מזוהים, בהתאם למפרט. אין תמיכה בפורמטים בינאריים או לא סטנדרטיים. השימוש בגופנים משתנים הולך ומתרחב, גם כדי לשפר את הביצועים וגם כדי להגדיל את הגמישות בטיפוגרפיה. הוספת תמיכה בתיאור הזה ב-Chromium משפרת את השליטה, מצמצמת את החזרות ותומכת בגישה מודרנית יותר וניתנת להרחבה לטיפוגרפיה באינטרנט.

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

DOM

מאפיין המקור ToggleEvent

המאפיין source של ToggleEvent מכיל את הרכיב שהפעיל את ToggleEvent, אם רלוונטי. לדוגמה, אם משתמש לוחץ על רכיב <button> עם המאפיין popovertarget או commandfor שמוגדר לפתיחת חלון קופץ, המאפיין source של הטריגר ToggleEvent שמופעל בחלון הקופץ יוגדר ל-<button> שגרם להפעלת הטריגר.

ChromeStatus.com entry | Spec

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

‫Controlled Frame API (זמין רק לאפליקציות אינטרנט מבודדות)

התכונה הזו מוסיפה Controlled Frame API שזמין רק לאפליקציות אינטרנט מבודדות (IWA). בדומה לממשקי API עם שמות דומים בפלטפורמות אחרות, Controlled Frame מאפשר להטמיע את כל התוכן, כולל תוכן של צד שלישי שלא ניתן להטמיע ב-<iframe>. ‫Controlled Frame מאפשר גם לשלוט בתוכן מוטמע באמצעות אוסף של שיטות ואירועים של API. מידע נוסף על אפליקציות אינטרנט מבודדות זמין במאמר בנושא אפליקציות אינטרנט מבודדות.

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

JavaScript

Uint8Array המרה אל ומ-base64 ו-hex

Base64 היא דרך נפוצה לייצוג נתונים בינאריים שרירותיים כ-ASCII. ‫JavaScript כולל Uint8Arrays לנתונים בינאריים. עם זאת, אין בו מנגנון מובנה לקידוד הנתונים בפורמט Base64, או לקבלת נתונים בפורמט Base64 ויצירת Uint8Arrayתואם. התכונה הזו מוסיפה את האפשרות ואת השיטות להמרה בין מחרוזות הקסדצימליות לבין Uint8Arrays.

ChromeStatus.com entry | Spec

הצגת שינוי התזמון של ההבטחה שהמעבר הסתיים

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

Tracking bug #430018991 | ChromeStatus.com entry

Web APIs

אפשרות ReadableStreamBYOBReader min

התכונה הזו מוסיפה את האפשרות min ל-method הקיים ReadableStreamBYOBReader.read(view). השיטה כבר מקבלת ArrayBufferView שאליה היא קוראת נתונים, אבל כרגע היא לא מבטיחה כמה רכיבים נכתבים לפני שהקריאה נפתרת. אם מציינים ערך של min, אפשר לדרוש שהסטרים ימתין עד שיהיו זמינים לפחות מספר האלמנטים הזה לפני שהקריאה תיפתר. השינוי הזה משפר את ההתנהגות הנוכחית, שבה יכול להיות שפעולות קריאה יסתיימו עם פחות רכיבים ממה שאפשר להציג בתצוגה.

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

ממשק ה-API ‏Get Installed Related Apps (קבלת אפליקציות קשורות מותקנות) ‏(navigator.getInstalledRelatedApps) מספק לאתרים גישה למידע על כך שהאפליקציות הקשורות המתאימות שלהם מותקנות. אתרים יכולים להשתמש ב-API הזה רק אם לאפליקציה יש שיוך מבוסס למקור האינטרנט.

ממשק ה-API הושק ב-Chrome 80 ל-Android. ב-Chrome 140 הופעלה תמיכה נוספת באפליקציות אינטרנט במחשב.

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

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

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

קובץ שירות (service worker)

סקריפט SharedWorker יורש את הבקר של כתובת ה-URL של סקריפט מסוג blob

במפרט מצוין שה-workers צריכים לרשת בקרים בכתובת ה-URL מסוג blob. עם זאת, הקוד הקיים מאפשר רק לעובדים ייעודיים לרשת את הבקר, ולא לעובדים משותפים. התיקון הזה משנה את ההתנהגות של Chrome כך שתהיה תואמת למפרט. המדיניות הארגונית SharedWorkerBlobURLFixEnabled קובעת את התכונה הזו.

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

הוספה של ServiceWorkerStaticRouterTimingInfo

התכונה הזו מוסיפה מידע על תזמון ל-ServiceWorker Static routing API, שמוצג ב-Navigation Timing API וב-Resource Timing API לשימוש המפתחים. ‫ServiceWorker מספק מידע על תזמון כדי לסמן נקודות מסוימות בזמן.

התכונה הזו מוסיפה שני סוגים של נתוני תזמון שרלוונטיים ל-Static routing API:

  • RouterEvaluationStart: הזמן שחלף עד שהתחילה ההתאמה של בקשה לכללי נתב רשומים.
  • CacheLookupStart: השעה שבה מתחילים לחפש באחסון המטמון אם המקור הוא "cache".

בנוסף, התכונה הזו מוסיפה שני סוגי מידע על מקור הנתב: מקור הנתב התואם ומקור הנתב הסופי.

Tracking bug #41496865 | ChromeStatus.com entry | Spec

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

הפעלת התראות על שיחות נכנסות

התכונה הזו מרחיבה את Notifications API כדי לאפשר לאפליקציות PWA מותקנות לשלוח התראות על שיחות נכנסות – התראות עם לחצנים בסגנון שיחה וצלצול. התוסף הזה עוזר לאפליקציות אינטרנט של VoIP ליצור חוויות מעניינות יותר, כי הוא מאפשר למשתמשים לזהות בקלות התראות על שיחות ולענות להן. בנוסף, התכונה הזו עוזרת לגשר על הפער בין הטמעות של אפליקציות שכוללות גם הטמעות מותאמות וגם הטמעות באינטרנט.

Origin Trial | Tracking bug #detail?id=1383570 | ChromeStatus.com entry | Spec

Crash Reporting key-value API

התכונה הזו מציגה API חדש של מפתח/ערך, שנקרא באופן זמני window.crashReport, שמגובה במפה לכל מסמך שמכילה נתונים שמצורפים לדוחות קריסה.

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

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

הוספת אירוע clipboardchange

האירוע clipboardchange מופעל בכל פעם שאפליקציית אינטרנט או כל אפליקציית מערכת אחרת משנה את התוכן של לוח העריכה של המערכת. כך אפליקציות אינטרנט כמו לקוחות של שולחן עבודה מרוחק יכולות לשמור על סנכרון של לוחות ההעתקה שלהן עם לוח ההעתקה של המערכת. הוא מספק חלופה יעילה לסקר של הלוח באמצעות JavaScript לשינויים.

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

הפעלת SharedWorker ב-Android

הביקוש לתמיכה ב-SharedWorker ב-Android קיים כבר זמן רב, והוא נובע מכמה צרכים שהביעו מפתחי אתרים:

  • שיתוף משאבים ויעילות: מפתחים שואפים לשתף חיבור יחיד של WebSocket או Server-Sent Events ‏ (SSE) בכמה כרטיסיות, וכך לחסוך במשאבים.
  • ניהול משאבים מתמשך: דרישה לשיתוף משאבים ולשמירתם בכרטיסיות שונות, במיוחד לטכנולוגיות כמו SQLite שמבוססת על WASM.
  • סגירת פער בתכונות: דפדפנים נפוצים אחרים לנייד, כולל Safari ב-iOS ו-Firefox ב-Android, כבר תומכים ב-SharedWorker, ולכן Chrome ב-Android הוא הדפדפן הנפוץ האחרון שסוגר את הפער הזה.

גרסת ניסיון של מקור | רשומה ב-ChromeStatus.com | מפרט

הסרות

הפסקת שליחת הכותרת Purpose: prefetch מפעולות אחזור מראש וטרום-עיבוד

השליפות מראש (prefetch) והעיבודים מראש (prerender) משתמשים עכשיו בכותרת Sec-Purpose, ולכן הכותרת הקודמת Purpose: prefetch מוסרת.

ההגדרה הזו תהיה בתוקף לגבי כללי ספקולציות prefetch, כללי ספקולציות prerender, <link rel=prefetch> ו-<link rel=prerender> הלא סטנדרטי של Chromium.

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

הוצאה משימוש של כללים מיוחדים לגודל הגופן של תג H1 בתוך רכיבים מסוימים

במפרט HTML יש רשימה של כללים מיוחדים לתגי <h1> שמוטמעים בתוך תגי <article>,‏ <aside>,‏ <nav> או <section>:

הכללים המיוחדים האלה יצאו משימוש כי הם גורמים לבעיות נגישות. כלומר, הם מקטינים את גודל הגופן של רכיבי <h1> מקוננים כדי שהם ייראו כמו רכיבי <h2>, אבל שום דבר בעץ הנגישות לא משקף את ההורדה הזו בדרגה.

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