גרסת בטא של Chrome 122

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

CSS

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

שאילתות @container של CSS עם תכונות לא נתמכות לעולם לא תואמות

סלקטורים של @container שמכילים שאילתות לא נתמכות אף פעם לא יבחרו קונטיינרים, כלומר הם אף פעם לא יתאימו.

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

@container (width > 0px) or (unknown) {}

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

פסאודו-רכיב ::backdrop ב-CSS שעובר בירושה מהרכיב המקורי

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

התנאים של שירות ה-CSS supports() עבור @import

השדה @import מקבל עכשיו תנאי supports(). אם התנאי supports() לא תואם, לא יתבצע אחזור של הייבוא.

@import "scroll-driven-animations.css" supports(animation-timeline: auto);

שאילתות התכונה שיש להזין בתוך supports() זהות לאלו שבהן משתמשים עם @supports

ממשקי API לאינטרנט

Async Clipboard API: קריאת HTML לא מאובטח

מוסיף אפשרות unsanitized ב-method read() כדי לקבל פורמט HTML לא מאובטח. אלא אם אתרים כוללים את המאפיין הזה, הקריאה מלוח העריכה תעבור חיטוי.

כברירת מחדל, כשקוראים סוגי MIME מסוג text/html באמצעות ה-API האסינכרוני, ה-sanitier מופעל על מנת להסיר תוכן מתגי העיצוב של HTML בגלל בעיות אבטחה, והסגנונות מסומנים בתוך ה-HTML. המצב הזה מוביל למטען ייעודי (payload) גדול של HTML ולאובדן האיכות של תוכן HTML בזמן הקריאה על ידי מפתחי אתרים או אפליקציות לנייד.

לא למחוק אובייקטים מסוג File type ב-dataTransfer.clearData()

עדכון Chrome בהתאם spec, שבו מצוין ש-clearData() לא משפיע על אובייקטים של קבצים. הפעולה הזו מוחקת רק את האובייקטים מסוג text.

FedCM: ניתוק

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

ביטול אירוע mousedown עם יכולת פעולה הדדית ב-iframe

כשגוררים את המצביע מחוץ ל-iframe, היעדים לאירועי העכבר לא משתנים בהתאם לביטול של אירוע mousedown. כשגוררים את העכבר מחוץ ל-iframe, כל הדפדפנים (כולל Chrome) שולחים את האירועים mousemove ו-mouseup ל-iframe. עם זאת, במקרה שאירוע mousedown מבוטל, כיום Chrome שומר על חריג ישן של WebKit שאירועי mousemove ו-mouseup נשלחים למסגרת החיצונית. החריגה הזו הוסרה על ידי WebKit בשנה שעברה, ו-Mozilla מעולם לא הציגה התנהגות זו בשנים האחרונות. התכונה הזו תסיר את החריג של Chrome בלבד במקרה המיוחד הזה.

עזרים לאיטרטור

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

MessagePort.onclose

שינוי ב-Channel Messaging API, שמיידע את אחת מה-MessagePorts על כך שהיציאה השנייה נותקה. כלומר, מתבצעת קריאה ל-close(), המסמך הושמד או שמתבצע איסוף אשפה.

תוספי RTCRtpSender setParameters() לבקשת יצירה של מסגרת מפתח

מוסיף פרמטר שני אופציונלי לקריאה RTCRtpSender.setParameters של WebRTC, שניתן להשתמש בו כדי לבקש מהמקודד המשויך ליצור מסגרת מפתח.

הגדרת שיטות

שיטות הגדרה הן שיטות חדשות, כמו איחוד והצטלבות, שמתווספות למחלקה Set המובנית ב-JavaScript.

ממשק API של קטגוריות אחסון

קטגוריות אחסון מאפשרות לאתרים לארגן את הנתונים במכשיר ב "קטגוריות" נפרדות, וכך סוכני המשתמש יכולים להוציא את הנתונים המקובצים בנפרד מאלה שנמצאים בקטגוריות אחרות. בנוסף, האתרים יכולים לנהל נתונים שקשורים מבחינה סמנטית. כל קטגוריית אחסון יכולה להכיל נתונים המשויכים לממשקי API קיימים לאחסון, כמו IndexedDB ו-CacheStorage.

URLTemplate: hasRegExpGroups

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

WebGL PaintBufferStorage

WebGL מאפשר רינדור למרקמים ולמאגרי עיבוד נתונים של פורמטים רבים של פיקסלים. לדוגמה: 8 ביט, נקודה צפה (floating-point) וקידוד sRGB.

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

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

התכונה השנייה פותחת כמה יישומים נוספים:

  • תוכן של מכלול צבעים רחב מאוד, ללא אובדן דיוק.
  • אפליקציות רפואיות שדורשות דיוק של יותר מ-8 ביטים.
  • אפליקציות עם טווח דינמי גבוה (כשזמינות).

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

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

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

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

תוספי היקף לאפליקציות אינטרנט

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

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

הרשמה לגרסת המקור לניסיון של תוספי היקף באפליקציות אינטרנט

בקרת פני שטח שנקלטה

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

הרשמה לתקופת הניסיון של גרסת המקור של 'בקרת פני השטח' לצילום.