גרסת בטא של Chrome 120

ביצוע התממה של CSS, כללים רגועים לקינון CSS, יוצרים דפוסי אקורדיון עם הרכיב <details>, הפעולה enterpictureinpicture עבור ממשק ה-API של סשן המדיה.

אם לא צוין אחרת, השינויים שמתוארים חלים על הגרסה החדשה ביותר של ערוץ בטא ב-Chrome ל-Android, ל-ChromeOS, ל-Linux, ל-macOS ול-Windows. אפשר לקבל מידע נוסף על התכונות שמפורטות כאן בקישורים המצורפים או ברשימה בכתובת chromestatus.com. גרסה בטא של Chrome 120 זמינה מ-1 בנובמבר 2023. אפשר להוריד את העדכונים האחרונים בכתובת Google.com למחשב או מחנות Google Play ב-Android.

CSS

בגרסה הזו נוספו שבע תכונות CSS חדשות.

תחביר <image> CSS של מאפיינים מותאמים אישית רשומים

תומך בשימוש בתחביר <image> במאפיינים מותאמים אישית שרשומים ב-@property או ב-registerProperty(). ניתן להשתמש בתחביר <image> כדי להגביל את הערכים של המאפיין המותאם אישית ל-url() ולתמונות שנוצרות, כמו הדרגתיים.

תחביר <transform-function> ו-<transform-list> של CSS עבור מאפיינים מותאמים אישית רשומים

תומך בשימוש בתחביר <transform-function> ו-<transform-list> בנכסים מותאמים אישית שרשומים ב-@property או ב-registerProperty().

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

שאילתות מדיה: תכונת סקריפט

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

בורר פסאודו-מחלקה :dir()

הבורר של פסאודו-מחלקה :dir() של CSS מתאים לרכיבים על סמך כיווניות, שנקבעת על סמך מאפיין ה-dir HTML.

:dir(ltr) תואם לכיווניות טקסט משמאל לימין. :dir(rtl) מבצע התאמה של רכיבים עם כיווניות טקסט מימין לשמאל.

הפונקציה לא מקבילה לבוררי המאפיינים [dir] כי היא תואמת לכיוונים שעברו בירושה מישות אב עם המאפיין dir, ובגללה היא תואמת לכיוון שמחושב באמצעות הפונקציה dir=auto (שקובע את הכיווניות של התו הראשון בטקסט עם כיווניות חזקה).

פונקציות אקספוננציאליות של CSS

המערכת מוסיפה את הפונקציות המעריכיות של CSS: pow(), sqrt(), hypot(), log() ו-exp() לפי המפרט של ערכי CSS ויחידות מידה 4.

אנונימיזציה של CSS

mask של CSS ותכונות קשורות כמו 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 בנאי

כך יתאפשר ניתוק של מאגרי אחסון זמניים ומאגרי נתונים מתאימים בתוך VideoFrame , ImageDecoder , EncodedVideoChunk , EncodedAudioChunk ו-AudioData ללא עותק.

CSS FontLoad API FontFaceSet: check()

השיטה check() של FontFaceSet מאמתת שניתן להציג טקסט באמצעות הגופנים שצוינו בלי לנסות להשתמש בגופנים ב-FontFaceSet שלא נטענו. כך המשתמשים יכולים להשתמש בגופן בבטחה מבלי להפעיל החלפת גופן בשלב מאוחר יותר.

סגירת הבקשות ו-CloseWatcher

בקשות סגירה הן קונספט חדש שמקיף בקשות של משתמשים לסגור פריטים שפתוחים כרגע, באמצעות מקש Esc במחשב או באמצעות תנועת 'הקודם' או לחצן 'הקודם' ב-Android. השילוב שלהם ב-Chrome כולל שני שינויים:

  • CloseWatcher, ממשק API חדש להאזנה ישירה לבקשות סגירה ולמענה עליהן.
  • מתבצע שדרוג ל-<dialog> ול-popover="" כדי להשתמש במסגרת החדשה של בקשות הסגירה, כדי להגיב ללחצן 'הקודם' ב-Android.

עובדים ייעודיים ו-Storage Access API

עובדים ייעודיים יירשו את סטטוס הגישה לאחסון של ההקשר של ההורה. לכן, אם מסמך מקבל גישה לאחסון דרך document.requestStorageAccess() ואז יוצר קובץ worker ייעודי, לעובד תהיה גישה לאחסון (וניתן יהיה לגשת לקובצי cookie ללא מחיצות).

FedCM: API לשגיאה ו-AutoSelectedFlag API

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

כשמשתמשים ב-Error API, אם ניסיון הכניסה של משתמש נכשל, ספק הזהויות יכול לשתף את הסיבות עם הדפדפן כדי לעדכן גם את המשתמשים וגם את מפתחי ה-RP.

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

ראו מידע נוסף בפוסט בבלוג של FedCM Chrome 120.

עדכונים לפונקציונליות של Fenced Frames

יש אפשרות פורמט נוספת לפקודות מאקרו של גודל מודעות ב-Protected Audience API ב-Protected Audience API בארגז החול לפרטיות. תכונה של הבעת הסכמה מאפשרת להשתמש בפקודות מאקרו כדי לציין את גודל המודעה שתזכה במכרז בכתובת ה-URL של המודעה, לדוגמה:

https://ad.com?width={/%AD_WIDTH%}&height={/%AD_HEIGHT%}

כדי להתאים יותר לסוגים אחרים של פקודות מאקרו ב'קהל מוגן', כמו אלה המשמשים את deprecatedReplaceInURN ו-registerAdMacro(), ב-Chrome 120 אנחנו מוסיפים את היכולת להשתמש בפקודות מאקרו ${AD_WIDTH} ו-${AD_HEIGHT} בתור הפורמט של פקודות המאקרו, בנוסף לפורמט הנוכחי.

מעכשיו, איתות Bluetooth אוטומטי יישלח לכל כתובות ה-URL הרשומות. בעבר, רק יעדים שצוינו בזמן הקריאה ל-setReportEventDataForAutomaticBeacons() יקבלו איתות Bluetooth אוטומטי, גם אם ב-worklet שלהם הוגדר יעד שנקרא registerAdBeacon() עבור reserved.top_navigation. מעכשיו, כל יעד שמתקשר ל-registerAdBeacon() עבור reserved.top_navigation יקבל איתות Bluetooth אוטומטי, אבל רק יעדים שצוינו ב-setReportEventDataForAutomaticBeacons() יקבלו נתונים איתות Bluetooth אוטומטי. הפרמטר once ב-setReportEventDataForAutomaticBeacons() יקבע עכשיו אם הנתונים נשלחים פעם אחת, במקום לקבוע אם האיתות המלא נשלח פעם אחת.

שוליים של גלילה בתצפית צומת

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

דוחות על הפרות של המדיניות בנושא הרשאות

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

היא כוללת גם את הכותרת Permissions-Policy-Report-Only, שמאפשרת לשלוח דוחות על סמך הצעה למדיניות (בדומה ל-Content-Security-Policy-Report-Only), כדי שאפשר יהיה להעריך שינויים במדיניות כדי לזהות הפרות אפשריות לפני שמיישמים אותם במצב האכיפה הרגיל.

ממשק API של סשן מדיה: פעולה enterpictureinpicture

מוסיף פעולת enterpictureinpicture ל-Media Session API. אתרים יכולים לרשום handler של פעולות שיכול לשמש לפתיחת חלון של 'תמונה בתוך תמונה' או 'תמונה בתוך תמונה' של מסמך.

תוכלו לקרוא מידע נוסף במאמר שימוש אוטומטי של תמונה בתוך תמונה באפליקציות אינטרנט.

תמיכה ב-WebGPU f16

המדיניות הזו מאפשרת להשתמש בסוג הנקודה הצפה f16 ברמת דיוק חצי מדויקת בתוכנות הצללה של WebGPU (WGSL).

המפתחים יכולים להשתמש בתכונה 'shader-f16' מהמפרט של WebGPU ובתוסף 'f16' מהמפרט של WGSL כדי לגשת למשתני נקודה צפה (floating-f16) ולממשקי API של 16 ביט בתוכנות הצללה שלהם.

MediaCapabilities: שליחת שאילתות על תמיכה ב-HDR באמצעות decodingInfo()

הרחבת ממשק ה-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

ה-API של סטטוס ההתחברות (לשעבר IdP Sign-in Status API) מאפשר לספקי זהויות לאותת לדפדפן כשהמשתמשים שלהם מתחברים או יוצאים מהחשבון.

השירות הזה משמש את FedCM לטיפול בהתקפת תזמון שקטה, ובכך מאפשר ל-FedCM לפעול ללא קובצי cookie של צד שלישי לגמרי.

יכול להיות ש-API הזה יהיה זמין בעתיד לתרחישי שימוש נוספים.

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

הצגת מעברים: הגדרת הקריאה החוזרת (callback) ללא null

הקריאה startViewTransition מקבלת כרגע סוג אופציונלי של התקשרות חזרה עם ערך null, עם ערך ברירת המחדל של null: startViewTransition(optional UpdateCallback? callback = null).

התכונה הזו משנה את הערך לסוג שאינו יכול להיות null: startViewTransition(optional UpdateCallback callback).

אנקפסולציה של מפתחות X25519Kyber768 ב-TLS

פריסת האלגוריתם Kyber768 של הסכם מפתח עמיד לקוונטים (Kyber768) כדי להגן על התנועה הקיימת ב-TLS ב-Chrome מפני הצפנה קוונטית עתידית. זהו הסכם מפתח היברידי X25519 + Kyber768 שמבוסס על תקן IETF. המפרט הזה וההשקה לא נכללים ב-W3C. ההסכם העיקרי הזה יושק כצופן TLS, ועליו להיות שקוף למשתמשים.

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

ב-Chrome 120 אפשר להביע הסכמה לגרסאות המקור החדשות הבאות.

כותרת בקשת HTTP 'עדיפות'

התכונה הזו מוסיפה את הכותרת של הבקשה priority לכל בקשות ה-HTTP עם פרטי העדיפות של הבקשה בזמן שליחתה.

RFC 9218 (סכימת תעדוף ניתנת להרחבה ב-HTTP) מגדיר כותרת בקשת HTTP 'עדיפות' לשימוש לאותת עדיפות בקשה למקורות (ולמתווכים). הוא גם מגדיר תהליכי משא ומתן ומסגרות ברמת הפרוטוקול ל-HTTP/2 ו-HTTP/3 כדי להעביר את אותו מידע עדיפות. הכותרת יכולה לסמן את העדיפות הראשונית של משאב רק כאשר הוא התבקש לראשונה, בעוד שהמנגנונים מבוססי המסגרת מאפשרים לשנות את העדיפות לאחר מעשה. הכותרת יכולה לפעול מקצה לקצה לשרתי המקור (ולספק מנגנון לביטול העדיפות אם המקור מזוהה על ידי מתווכים), כשהפריימים מוגבלים לפעול ברמת קישור. התכונה הזו מיועדת ספציפית לתמיכה בסכימת תעדוף לפי כותרת.

אנחנו מציעים הרחבה של 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 video codec ב-Chrome למחשב. השימוש הנמוך של Theora (שעכשיו הוא שגוי לעיתים קרובות) כבר לא מצדיק את התמיכה ברוב המשתמשים.

בגרסה הזו של Chrome הוסרו שתי תכונות.

הסרת הנתונים: URL ב-SVGUseElement

הקצאת נתונים: כתובת URL ב-SVGUseElement עלולה לגרום ל-XSS. דבר זה הוביל גם לעקיפת סוגי האמינות. לכן אנחנו מתכננים להפסיק את התמיכה בערוץ הזה ולהסיר את התמיכה בו.

הסרת אכיפה גורפת של אותו מקור ב-CSPEE

הסרה של טיפול מיוחד למסגרות iframe מאותו מקור מהאכיפה המוטמעת של CSP. הפעולה הזו מתאימה את התנהגות האכיפה של אכיפה מוטמעת של CSP במסגרות iframe ממקורות שונים ובמסגרות iframe מאותו מקור.