התממה של CSS, כללים רגועים להצבת CSS, יוצרים דפוסי אקורדיון עם הרכיב <details>
, הפעולה enterpictureinpicture
ב-Media Session API.
אם לא צוין אחרת, השינויים שמתוארים חלים על הגרסה החדשה ביותר של ערוץ הבטא של Chrome ל-Android, ל-ChromeOS, ל-Linux, ל-macOS ול-Windows. מידע נוסף על התכונות שמפורטות כאן אפשר למצוא דרך הקישורים המצורפים או מהרשימה בכתובת chromestatus.com. Chrome 120 בגרסת בטא החל מ-1 בנובמבר 2023. אפשר להוריד את הגרסה העדכנית ביותר מ-Google.com למחשב, או מחנות Google Play ב-Android.
CSS
לגרסה הזו נוספו 7 תכונות חדשות של CSS.
תחביר <image>
של CSS לנכסים מותאמים אישית רשומים
תומכת בשימוש בתחביר <image>
לנכסים מותאמים אישית שרשומים ב-@property
או ב-registerProperty()
. אפשר להשתמש בתחביר <image>
כדי להגביל את הערכים של המאפיין המותאם אישית לערכי url()
ולתמונות שנוצרות כמו הדרגה.
תחביר CSS <transform-function>
ו-<transform-list>
לנכסים מותאמים אישית רשומים
תומכת בשימוש בתחביר <transform-function>
ו-<transform-list>
לנכסים מותאמים אישית שרשומים ב-@property
או ב-registerProperty()
.
התחביר מאפשר להגביל ערכים של המאפיין המותאם אישית כדי לייצג טרנספורמציות. כך ניתן גם להשתמש במעברים ובאנימציות ישירות במאפיינים המותאמים אישית הרשומים האלה.
שאילתות מדיה: תכונת כתיבת סקריפטים
תכונת המדיה לכתיבת סקריפטים משמשת כדי לבדוק אם שפות סקריפטים, כגון JavaScript, נתמכות במסמך הנוכחי. האפשרויות החוקיות הן 'מופעלת', 'אות ראשונה בלבד' ו'ללא'. עם זאת, 'התחלה בלבד' אף פעם לא תואם בתוך דפדפן.
בורר :dir() pseudo-class
הסלקטור :dir()
של המחלקה המדומה של CSS מתאים לרכיבים על סמך הכיווניות, שנקבעת על סמך המאפיין dir של HTML.
:dir(ltr)
תואם לכיווניות טקסט משמאל לימין.
:dir(rtl)
מתאים לרכיבים עם כיוון טקסט מימין לשמאל.
היא לא מקבילה לבוררי המאפיינים [dir]
, כי היא תואמת להנחיות שעברו בירושה מישות אב עם המאפיין dir
, ובגלל שהיא תואמת לכיוון המחושב מהשימוש במאפיין dir=auto
(שקובע את הכיוון של התו הראשון בטקסט עם כיוון חזק).
פונקציות מעריכיות של CSS
הפונקציה מוסיפה את הפונקציות המעריכיות של CSS: pow()
, sqrt()
, hypot()
, log()
ו-exp()
מערכי CSS ומפרט רמת 4 של יחידות.
אנונימיזציה של שירותי CSS
שירות CSS mask
, ומאפיינים קשורים כמו mask-image
ו-mask-mode
, משמשים להסתרת אלמנט (באופן חלקי או מלא) על ידי התממה או חיתוך של התמונה בנקודות מסוימות.
התכונה הזו מבטלת את התחילית של הנכסים -webkit-mask*
ומתאימות אותם למפרט הנוכחי. למשל: mask-image
, mask-mode
, mask-repeat
, mask-position
, mask-clip
, mask-origin
, mask-size
ו-mask-composite
, וגם את הקיצור mask
. יש תמיכה בהפניות mask-image
מקומיות, העריכה הסדרתית תואמת עכשיו למפרט, והערכים הקבילים תואמים עכשיו למפרט (לדוגמה, add
במקום source-over
עבור mask-composite
).
מיקום רגוע של שירות CSS
השינוי בהטמעה של תצוגת ה-CSS מאפשרת לכללי סגנון מקוננים להתחיל ברכיב, לדוגמה h1
, במקום שהסמל &
יופיע בחזית או ייצמדו אל is()
. הדוגמה הבאה תקפה עכשיו למפרט והיא פועלת ב-Chrome 120.
.card {
h1 {
/* h1 does not start with a symbol */
}
}
HTML
דפוס אקורדיון משתמש במאפיין השם ב-<details>
התכונה הזו מוסיפה את היכולת ליצור אקורדיונים באמצעות רצף של רכיבי <details>
ב-HTML. היא מוסיפה מאפיין שם לרכיב <details>
. כשמשתמשים במאפיין הזה, יוצרים קבוצה של כמה רכיבי <details>
שיש להם אותו שם. רק רכיב אחד בקבוצה יכול להיות פתוח בו-זמנית.
ממשקי API לאינטרנט
הרשאה להעביר את ArrayBuffer אל VideoFrame, AudioData, EncodedVideoChunk, EncodedAudioChunk, ImageDecoder constructor
כך אפשר לנתק מאגרי נתונים זמניים של מערכים ולהשתמש במאגרי נתונים זמניים תואמים בתוך VideoFrame, ImageDecoder, EcodedVideoChunk, EncodedAudioChunk, ו-AudioData ללא עותק.
שמתודה CSS FontLoad API FontFaceSet: check()
השיטה check()
של FontFaceSet
בודקת אם ניתן להציג טקסט באמצעות הגופנים שצוינו בלי לנסות להשתמש בגופנים ב-FontFaceSet
שהטעינה שלהם לא הסתיימה. כך המשתמשים יכולים להשתמש בגופן בצורה בטוחה, בלי להפעיל החלפת גופן מאוחר יותר.
סגירת בקשות ו-CloseWatcher
בקשות סגירה הן קונספט חדש שכולל בקשות של משתמשים לסגירת משהו שפתוח כרגע, באמצעות מקש Esc במחשב או תנועת החזרה או לחצן 'הקודם' ב-Android. השילוב שלהם ב-Chrome כולל שני שינויים:
CloseWatcher
, ממשק API חדש להאזנה ישירה ולתגובה לבקשות סגורות.- שדרוג ל-
<dialog>
ול-popover=""
כדי להשתמש במסגרת החדשה לבקשת סגירה, כדי שיגיבו ללחצן 'הקודם' ב-Android.
עובדים ייעודיים ו-Storage Access API
עובדים ייעודיים יירשו את סטטוס הגישה לאחסון של ההקשר של ההורה. לכן, אם מסמך מקבל גישה לאחסון דרך document.requestStorageAccess()
ואז יוצר עובד ייעודי, גם לעובד תהיה גישה לאחסון (והוא יוכל לגשת לקובצי Cookie ללא מחיצות).
FedCM: Error API ו-AutoSelectedflag API
ממשקי API ייעודיים שעוזרים למפתחים ולמשתמשים להבין טוב יותר את תהליך האימות. שני ממשקי ה-API מופעלים אחרי שהמשתמש מקבל הרשאת כניסה לאתר או לאפליקציה (בהקשר הזה נקרא צד נסמך (RP)) עם ספק זהויות. במילים אחרות, אחרי שהמשתמש לוחץ על הלחצן המשך בתור.
באמצעות Error API, אם ניסיון הכניסה של משתמש נכשל, ספק הזהויות יכול לשתף את הסיבות עם הדפדפן כדי לעדכן את המשתמשים ואת מפתחי RP.
בעזרת AutoSelectedflag API, המפתחים של ספקי הזהויות ומפתחי RP יכולים להבין טוב יותר את חוויית המשתמש בכניסה לחשבון, ולהעריך את הביצועים ולפלח את המדדים בהתאם.
מידע נוסף זמין בפוסט בבלוג של FedCM Chrome 120.
עדכונים לגבי הפונקציונליות של Fenced Frames
יש אפשרות פורמט נוספת לפקודות מאקרו של גודל מודעה ב-Protected Audience ב-Protected Audience API בארגז החול לפרטיות. תכונת הבעת ההסכמה מאפשרת להשתמש בפקודות מאקרו כדי לציין את גודל המודעה שזוכה במכרז בתוך כתובת ה-URL של המודעה, לדוגמה:
https://ad.com?width={/%AD_WIDTH%}&height={/%AD_HEIGHT%}
כדי לשמור על עקביות עם סוגים אחרים של פקודות מאקרו ב-Protected Audience API, כמו אלו שמשמשות את deprecatedReplaceInURN
ו-registerAdMacro()
, אנחנו מוסיפים ב-Chrome 120 את היכולת להשתמש בפקודות המאקרו ${AD_WIDTH} וב-${AD_HEIGHT} בתור הפורמט של פקודות המאקרו, בנוסף לפורמט הנוכחי.
איתותי Bluetooth אוטומטיים יישלחו עכשיו לכל כתובות ה-URL הרשומות. בעבר, רק היעדים שצוינו בקריאה ל-setReportEventDataForAutomaticBeacons()
מקבלים איתותי Bluetooth אוטומטיים, גם אם היעד הזה נקרא registerAdBeacon()
עבור reserved.top_navigation
ב-worklet שלהם. עכשיו, כל יעד שמתקשר אל registerAdBeacon()
עבור reserved.top_navigation
יקבל איתות Bluetooth אוטומטי, אבל רק היעדים שצוינו בsetReportEventDataForAutomaticBeacons()
יקבלו נתונים של איתות Bluetooth באופן אוטומטי. הפרמטר once
בsetReportEventDataForAutomaticBeacons()
יקבע עכשיו אם הנתונים נשלחים פעם אחת, ולא יקבע אם כל האיתות נשלח פעם אחת.
שוליים גלילה של צופה צומת
ממשק ה-צמתים scrollMargin
מאפשר למפתחים לצפות ביעדים בתוך מאגרי גלילה בתוך קונטיינרים, שכרגע נחתכים על ידי מאגרי הגלילה. הפעולה הזו מתבצעת על ידי הרחבת מלבן החיתוך של הקונטיינר באמצעות scrollMargin
בזמן חישוב החיתוך.
דוחות לגבי הפרות של מדיניות ההרשאות
הפעולה הזו משלבת את Permissions policy API עם Reporting API, וכך מאפשרת למפתחי אתרים להגדיר נקודות קצה (endpoints) שאליהן יישלחו דוחות על הפרות מדיניות בנושא הרשאות. כך בעלי האתרים יכולים לראות מתי נשלחות בקשות לתכונות אסורות בדפים שלהם בשדה.
היא כוללת גם את הכותרת Permissions-Policy-Report-Only
, שמאפשרת לשלוח דוחות על סמך הצעה למדיניות (בדומה למדיניות Content-Security-Policy-Report-Only
), כדי שנוכל להעריך את שינויי המדיניות כדי לאתר תקלות אפשריות לפני ההטמעה שלהם במצב הרגיל שאוכף.
ממשק API לסשן מדיה: פעולה אחת (enterpictureinpicture
)
הוספה של פעולת enterpictureinpicture
ל-Media Session API. אתרים יכולים לרשום מטפל פעולה שיכול לשמש לפתיחת חלון 'תמונה בתוך תמונה' או 'תמונה בתוך תמונה' של מסמך.
מידע נוסף על התכונה 'תמונה בתוך תמונה' באופן אוטומטי באפליקציות אינטרנט
תמיכה ב-WebGPU f16
המדיניות מאפשרת להשתמש בסוג נקודה צפה (floating-point) חצי דיוק f16 בכלי להצללה של WebGPU (WGSL).
מפתחים יכולים להשתמש ב-'shader-f16' מהמפרט של WebGPU ומה-f16. ממפרט WGSL כדי לגשת למשתנים של נקודה צפה (floating-point) וממשקי API של 16 ביט ברכיבי ה-shader שלהם.
יכולות מדיה: שליחת שאילתות לתמיכה ב-HDR באמצעות decodingInfo()
הרחבת ה-Media Capabilities API כדי לאפשר זיהוי של תמיכה ברינדור HDR באמצעות שלושה שדות חדשים של מילון VideoConfiguration: hdrMetadataType
, colorGamut
ו-transferFunction
. ב-Chrome מיושמים אלגוריתמים משלו למיפוי גוונים, כך שתמיד יחזירו את הערך true עבור מטא-נתונים סטטיים מסוג HDR10 (smpteSt2086). מטא-נתונים דינמיים מסוג HDR10+ (smpteSt2094-10) ו-Dolby Vision (smpteSt2094-40) לא נתמכים בשלב זה ולכן יחזירו את הערך FALSE. אנחנו צופים שבעתיד נוסיף תמיכה במטא-נתונים דינמיים, כך שה-API הזה יאפשר למפתחים לבחור את התוכן המתאים למשתמשים שיש להם תמיכה.
נתונים סטטיסטיים של MediaStreamTrack (סרטון)
ממשק API שחושף מוני פריימים (נשלחו, נמחקו, סה"כ) של סרטונים מסוג MediaStreamTracks. הנתונים הסטטיסטיים של האודיו יפורטו בהשקה נפרדת של תכונה ב-Chrome.
Private Aggregation API: בחירת מתאם צבירה
שינוי ב-Private Aggregation API כדי לספק מנגנון לבחירת המתאם שישמש להצפנת מטען ייעודי (payload) (מרשימת היתרים שצוינה על ידי הספק). בחירת השירות מתבצעת עם אפשרות נוספת בקריאות run()
ו-selectURL()
של SharedStorage, ובקריאות runAdAuction()
ו-joinAdInterestGroup()
Protected Audience. הגישה הרחבה תואמת בדרך כלל לגישה של Attribution Reporting API.
ה-API של סטטוס ההתחברות ב-FedCM
ה-Login Status API (לשעבר IdP Sign-in Status API) מאפשר לספקי זהויות לאותת לדפדפן כשהמשתמשים שלהם מתחברים או יוצאים מהחשבון.
פרוטוקול זה משמש את FedCM להתמודדות עם התקפת תזמון שקטה, ובכך מאפשר ל-FedCM לפעול ללא קובצי cookie של צד שלישי כלל.
בעתיד, ה-API הזה יהיה זמין לשימוש בתרחישים נוספים לדוגמה.
מידע נוסף זמין בפוסט בבלוג ההודעה.
הצגת מעברים: הגדרת קריאה חוזרת כלא-null
הפונקציה startViewTransition
מקבלת כרגע סוג של קריאה חוזרת (callback) אופציונלי מסוג null עם ערך ברירת המחדל כ-null: startViewTransition(optional UpdateCallback? callback = null)
.
התכונה הזו משנה את הערך כך שלא ניתן יהיה להגדיר null: startViewTransition(optional UpdateCallback callback)
.
כיווץ מפתחות X25519Kyber768 ל-TLS (אבטחת שכבת התעבורה)
הגנה על התנועה הנוכחית ב-TLS (אבטחת שכבת התעבורה) ב-Chrome מפני קריפטאנליזה קוונטית עתידית באמצעות פריסת האלגוריתם Kyber768 של פרוטוקול מפתח עם עמידות קוונטית. זהו הסכם מפתחות משולב מסוג X25519 + Kyber768 המבוסס על תקן IETF. המפרט וההשקה האלה לא נכללים במסגרת W3C. ההסכם המרכזי הזה יושק כהצפנה ב-TLS (אבטחת שכבת התעבורה), והוא צריך להיות שקוף למשתמשים.
גרסאות מקור לניסיון מתבצעות עכשיו
ב-Chrome 120 אפשר להצטרף לגרסאות המקור לניסיון החדשות הבאות.
'עדיפות' כותרת בקשת HTTP
התכונה הזו מוסיפה את כותרת הבקשה priority
לכל בקשות ה-HTTP, עם מידע בעדיפות של הבקשה בזמן שהיא נשלחה.
RFC 9218 (סכימת עדיפות ניתנת להרחבה ל-HTTP) מגדירה 'עדיפות' כותרת בקשת HTTP שתשמש לאותת קדימות של בקשות למקורות (ולמתווכים). כמו כן, הוא מגדיר תהליכי משא ומתן ומסגרות ברמת הפרוטוקול עבור HTTP/2 ו-HTTP/3 לשאת מידע עדיפות זהה. הכותרת יכולה לסמן את העדיפות הראשונית של משאב רק כשהוא התבקש לראשונה, בעוד שהמנגנונים מבוססי-המסגרות מאפשרים לשנות את העדיפות לאחר מעשה. הכותרת יכולה לפעול מקצה לקצה לשרתי המקור (ולספק מנגנון למקור שיחליף את העדיפות אם היא מזוהה על ידי מתווכים) בזמן שהפריימים מוגבלים לפעולה ברמת קישור. התכונה הזו מיועדת ספציפית לתמיכה בסכימת התעדוף מבוססת-הכותרת.
הרחבת Storage Access API (SAA) לאחסון ללא קובצי Cookie
אנחנו מציעים תוסף ל-Storage Access API (בתאימות לאחור) כדי לאפשר גישה לאחסון לא מחולק (קובצי Cookie ולא קובצי Cookie) בהקשר של צד שלישי.
הרשאת גישה לרשת הפרטית כדי להירגע של תוכן מעורב
כדי ליצור חיבורים למכשירים ברשת מקומית שאין להם שמות ייחודיים גלובליים ולכן הם לא יכולים לקבל אישורי TLS, התכונה הזו כוללת אפשרות חדשה ל-fetch()
להצהיר על מפתח כוונה לדבר עם מכשיר כזה, תכונה חדשה בפיקוח מדיניות שמטרתה להגביל את הגישה של כל אתר גישה ליכולת הזו וכותרות חדשות לתגובת קדם-ההפעלה של השרת כדי לספק מטא-נתונים נוספים.
הרשמה לגרסת המקור לניסיון של בקשת גישה לרשת הפרטית.
גישה בלתי מוגבלת אל performance.measureUserAgentspecificMemory()
Performance.measureUserAgentspecificMemory() מוגדר כזמין רק בסביבות מבודדות ממקורות שונים (מאחורי COOP/COEP). התכונה הזו מסירה את ההגבלה COOP/COEP, כדי לאפשר בדיקות רגרסיה ומדידת ההשפעה כשאין אפשרות לפרוס באופן מלא את COOP/COEP. לתשומת ליבכם: לא ניתן להשתמש ב-Performance.memory (ממשק ה-API הקודם) למטרה הזו כי הוא מעולם לא הופעל אצל העובדים.
performance.measureUserAgentSpecificMemory()
התכונה מוסיפה פונקציית performance.measureUserAgentSpecificMemory()
שמעריכה את השימוש בזיכרון של דף האינטרנט. כדי להשתמש ב-API, האתר צריך להיות מבודד ממקורות שונים.
הוצאה משימוש והסרות
הגרסה הזו של Chrome מציגה את ההוצאה משימוש וההסרות שמפורטות בהמשך. אפשר להיכנס לכתובת ChromeStatus.com כדי לקבל רשימה של מקרי הוצאה משימוש מתוכננות, הוצאת משימוש בפועל והסרות קודמות.
גרסה זו של Chrome מוציאה משימוש תכונה אחת.
הוצאה משימוש והסרה של התמיכה ב-Theora
Chrome יצא משימוש ויסיר את התמיכה בקודק הווידאו Theora ב-Chrome למחשב עקב סיכוני אבטחה חדשים. השימוש הנמוך של תאורה (ולרוב שגוי עכשיו) כבר לא מצדיק תמיכה ברוב המשתמשים.
בגרסה הזו של Chrome הוסרו שתי תכונות.
הסרת data: URL ב-SVGUseElement
הקצאת כתובת URL מסוג data: ב-SVGUseElement עלולה לגרום ל-XSS. והפעולה הזאת גרמה גם לעקיפת 'סוגים מהימנים'. לכן, אנחנו מתכננים להוציא משימוש את האפשרות הזו ולהסיר את התמיכה בה.
הסרת אכיפה כוללת של מקור זהה ב-CSPEE
הסרת טיפול מיוחד למסגרות iframe ממקור זהה מ-CSP Embedded Enforcement. ההגדרה הזו מתאימה להתנהגות של אכיפת אכיפת CSP מוטמעת על מסגרות iframe ממקורות שונים ו-iframes ממקור זהה.