נתיב תנועת CSS, מטמון לדף הקודם/הבא Not recoveryReason API, תמונה בתוך תמונה של מסמך ועוד.
אם לא צוין אחרת, השינויים שמתוארים חלים על הגרסה החדשה ביותר של ערוץ הבטא של Chrome ל-Android, ל-ChromeOS, ל-Linux, ל-macOS ול-Windows. אפשר לקבל מידע נוסף על התכונות המפורטות כאן באמצעות הקישורים המצורפים או מהרשימה ב-ChromeStatus.com. Chrome 116 הוא בגרסת בטא ב-19 ביולי 2023. אפשר להוריד את הגרסה העדכנית ביותר מ-Google.com למחשב, או מחנות Google Play ב-Android.
CSS
לגרסה הזו נוספו שתי תכונות חדשות של CSS.
נתיב תנועת CSS
נתיב התנועה מאפשר למחברים למקם כל אובייקט גרפי ולהוסיף לו אנימציה לאורך נתיב שצוין על ידי המפתח. כך מתאפשרת כמה אפשרויות טרנספורמציה חדשות ועוצמתיות, כמו מיקום באמצעות קואורדינטות קוטביות (עם הפונקציה ray()
) במקום הקואורדינטות המלבניות הסטנדרטיות שבהן נעשה שימוש בפונקציה translate()
, או הוספת אנימציה של רכיב לאורך נתיב מוגדר. כך קל יותר להגדיר מעברים מרחביים מורכבים ויפים ודו-ממדיים. אפשר לציין נתיב בדרכים הבאות: circle()
, ellipse()
, rect()
, inset()
, xywh()
, polygon()
, ray()
ו-url()
.
אנימציות של הצגה וחשיפה של התוכן
Chrome 116 תומך במאפיינים display
ו-content-visibility
באנימציות של תמונות מפתח. התמיכה הזו מאפשרת למפתחים ליצור אנימציות יציאה, שבהן הרכיב הופך באופן אוטומטי ל-display: none
או content-visibility: hidden
בלי שיצטרכו לכתוב קוד JavaScript כדי להתמודד עם המתג הזה לאחר סיום האנימציה. כך ניתן להוסיף אנימציית יציאה לרכיבים ב-CSS בלבד.
ממשקי API לאינטרנט
AbortSignal.any()
מחזירה אות שמתבטל כאשר אחד מהאותות המקוריים מבוטל. מפתחים יכולים להשתמש באפשרות הזו כדי לשלב מקורות עצמאיים שבוטלו, לדוגמה, זמנים קצובים לתפוגה שצוינו ב-AbortSignal.timeout()
ואותות שמשויכים ל-AbortController, ולהעביר אותם לממשקי API אסינכרוניים כמו fetch()
.
תמיכת BYOB לאחזור
במסגרת ההטמעה של ReadableStream ב-Chrome, יש תמיכה בקוראי BYOB (מאגר אחסון נתונים זמני) שמאפשר צפייה בסטרימינג בבייטים שניתן לקרוא. עכשיו, Response.body
הוא גם זרם של בייטים קריאים במקום "ברירת מחדל" זרם קריא. כך ניתן להשתמש ב-Fetch API עם קוראי BYOB, לצמצם את התקורה של איסוף האשפה ולשפר את מהירות התגובה של המשתמשים. גם Blob.stream()
תוכל ליהנות עכשיו מהאופטימיזציה הזו.
מטמון לדף הקודם/הבא NotRestoreReason API
ה-NotRestoreReason API ידווח על רשימת הסיבות לכך שדף לא מוצג מ-BFcache במבנה של עץ מסגרת, באמצעות PerformanceNavigationTiming API.
מסמך במצב 'תמונה בתוך תמונה'
התכונה תמונה בתוך תמונה של מסמך מוסיפה ממשק API חדש כדי לפתוח חלון שמחובר תמיד, שניתן לאכלס באמצעות HTMLElements
שרירותי. זו הרחבה ל-API הקיים של HTMLVideoElement
שמאפשרת רק להעביר HTMLVideoElement
לחלון 'תמונה בתוך תמונה' (PiP). כך מפתחי אתרים יכולים לספק למשתמשים חוויה טובה יותר של 'תמונה בתוך תמונה'.
תווים כלליים לחיפוש מורחבים במקורות של מדיניות ההרשאות
תווים כלליים לחיפוש של תת-דומיינים ברשימות ההיתרים סיפקו גמישות רבה, אבל הם היו שונים מהכלים המנתחים הקיימים של תווים כלליים לחיפוש ונדרשים קוד חדשני ומפרט טכני. הכוונה הזו תצמצם את התקורה באמצעות שימוש חוזר בחלקים מהמפרט הקיים של Content Security Policy, והאישור של scheme + wildcard domain
ושל wildcard port
יהיה ברשימת ההיתרים. באופן ספציפי, Intent זה ישתמש בהגדרה של מקור מארח ו-scheme-source, במקום מקור בהגדרה של רשימת ההיתרים, אבל חלק הנתיב צריך להיות ריק (כי מדיניות ההרשאות חלה על מקורות תואמים).
חבילת FedCM: Login Hint API, User Info API ו-RP Context API
העדכון בחבילה מאפשר להתאים אישית תהליכי התחברות מאוחדים באמצעות Federated Credential Management API (FedCM).
בעזרת Login Hint API, הצד הנסמך (RP) יכול לציין רמז לגבי חשבון המשתמש שרוצים להציג בממשק המשתמש של FedCM. הנתונים האלה משמשים בעיקר כדי לספק למשתמשים חוזרים חוויה טובה יותר.
User Info API מאפשר לספק הזהויות (IdP) לאחזר את פרטי המשתמש כדי להתאים אישית את חוויית ההתחברות למשתמשים חוזרים, למשל באמצעות לחצנים מותאמים אישית מסוג 'כניסה באמצעות IdP'.
באמצעות ה-RP Context API, הגורם המוגבל יכול לבקש שתיבת הדו-שיח של FedCM תחליף את הכותרת 'כניסה' עם האפשרויות "הרשמה", "שימוש" או 'המשך', כדי להתאים בין הכוונה של המשתמש בפועל.
אירועי כניסה/עזיבה של עכבר וסמן לא מורכב
צריך להגדיר את הנכס event.composed
באירועים mouseenter
, mouseleave
, pointerenter
ו-pointerleave
"false"
כך שיהיה תואם למפרט ויתקן פערים של יכולת פעולה הדדית. גם במפרט האירועים של ממשק המשתמש של אירועי עכבר וגם במפרט 'אירועי מצביע', האירועים האלה מוגדרים כלא-מורכבים. שני המפרטים הוסרו מההגדרות המקוריות לפני כמה שנים: https://github.com/w3c/uievents/pull/210 https://github.com/w3c/pointerevents/pull/461 בנוסף לטיפול בפער הזה של יכולת הפעולה ההדדית, השינוי הזה גם מתקן שליחה כפולה או משולשת שגויה של האירועים האלה למארח צל של DOM ב-Chromium. כשמדובר גם במארח צל של DOM ב-Chromium.
הסרת ירושה של Sandbox של document.open
בשלב זה, סימונים של Sandbox של המתקשר/ת מוחלים על המשתמש המקבל כאשר document.open
מטרגט חלון אחר. אחרי השינוי הזה, זה לא יקרה יותר.
דיווח על Critical-CH שגרמה להפעלה מחדש ב-NavigationTiming
אתרים יכולים לציין שרמז לקוח מסוים הוא קריטי לדף על ידי הכללתו בכותרת תגובת HTTP Critical-CH
. הפעולה הזו תפעיל מחדש את החיבור אם הרמז שרשום בכותרת תגובת ה-HTTP Critical-CH
יכול להיות (אבל לא היה) כלול בבקשת ה-HTTP שנשלחה בהתחלה. הכוונה הזו מציעה להוסיף את readonly attribute DOMHighResTimeStamp criticalCHRestart;
לממשק של PerformanceNavigationTiming
.
גרסאות מקור לניסיון מתבצעות עכשיו
ב-Chrome 116 אפשר להצטרף לגרסאות המקור לניסיון החדשות הבאות.
COOP: מאפייני הגבלה
מדיניות Cross-Origin-Opener-Policy משמשת לניתוק היחסים בין פריטים קופצים ופותחים, כדי להגביר את האבטחה. "restrict-properties" הוא ערך מוצע שמגביל את הקשר במקום לנתק אותו לחלוטין. היא תפעיל את ה-cross-OriginIated (החיבור בין מקורות) כשההתאמה עם COEP.
נרשמים לתקופת הניסיון עם מקורות להגבלת נכסים של COOP.
ממשק API של סטטוס כניסה ל-FedCM
ה-IdP של סטטוס הכניסה ל-IdP של Federated Credential Management API (FedCM) מאפשר לספק זהויות (IdP) לאותת לדפדפן כשהמשתמשים שלו מתחברים או יוצאים ממנו, כדי ש-FedCM יוכל להגדיל את מאפייני הפרטיות שלו על ידי אופטימיזציה של חוויית המשתמש.
הרשמה לגרסת המקור לניסיון של סטטוס הכניסה של FedCM
ממשק API של EditContext
ממשק ה-API של EditContext מפשט את תהליך השילוב של אפליקציית אינטרנט עם שיטות מתקדמות של קלט טקסט, כמו כתיבת צורה של VK, חלוניות של כתב יד, זיהוי דיבור וקומפוזיציות של IME. ה-API משפר את הנגישות והביצועים, ומספק יכולות חדשות לעורכים מבוססי-אינטרנט.
הרשמה לגרסת המקור לניסיון של EditContext API
תזמון פריים ארוך של אנימציה
זו הרחבה של משימות ארוכות. הוא מודד את המשימה יחד עם עדכון העיבוד הבא, ומוסיף מידע כמו סקריפטים רציפים, זמן הרינדור והזמן שלוקח לפריסה ולסגנון מאולצים, שנקראים סינון פריסה.
המפתחים יכולים להשתמש באפשרות הזו כאבחון ל'איטיות', שנמדדת על ידי INP, על ידי איתור הסיבות לעומס ב-thread הראשי, שבמקרים רבים זו הסיבה ל-INP הבעייתי.