גרסת בטא של 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 תואמים למפרט החדש.

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

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

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

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

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

ממשק API של לוח אסינכרוני: קריאת HTML לא מאובטח

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

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

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

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

FedCM: ניתוק

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

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

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

כלים לעזרה באיטרטור

Iterator helpers הוא שיטות חדשות באב הטיפוס האיטרטור כדי לאפשר שימוש כללי וצריכה של איטרטורים.

MessagePort.onclose

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

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

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

שיטות הגדרה

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

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

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

URLtemplate: hasRegExpGroups

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

WordBufferStorage של WebGL

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

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

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

התכונה השנייה פותחת את הנעילה של כמה אפליקציות נוספות:

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

כיווץ מפתחות X25519Kyber768 ל-TLS (אבטחת שכבת התעבורה)

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

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

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

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

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

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

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

בקרת משטח תועדה

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

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