אם לא צוין אחרת, השינויים הבאים חלים על הגרסה החדשה ביותר של ערוץ הבטא של Chrome ל-Android, ל-ChromeOS, ל-Linux, ל-macOS ול-Windows. אפשר לקבל מידע נוסף על התכונות שמפורטות כאן בקישורים שסופקו או ברשימה בכתובת ChromeStatus.com. גרסת הבטא של Chrome 121 זמינה החל מ-6 בדצמבר 2023. אפשר להוריד את העדכונים האחרונים מ-Google.com למחשב או מחנות Google Play ל-Android.
CSS
לגרסה הזו נוספו שש תכונות CSS חדשות.
ירושה של הדגשת CSS
באמצעות ירושה של הדגשת CSS, מחלקות הפסאודו של הדגשת CSS, כמו ::selection
ו-::highlight
, יורשים את המאפיינים שלהם דרך שרשרת ההדגשה המדומה, ולא דרך שרשרת הרכיבים. התוצאה היא מודל אינטואיטיבי יותר לירושה של נכסים בהדגשים.
כך מיישמים את הדרישה ממפרט CSS Pseudos Level 4:
"כאשר מאפיין נתמך כלשהו לא מקבל ערך על ידי המדרג ... הערך שצוין נקבע על ידי ירושה מהרכיב המדומה של הרכיב המודגש של רכיב ההורה של הרכיב המקורי."
סרגלי גלילה של CSS: scrollbar-color
ו-scrollbar-width
מפרט סרגלי הגלילה של CSS מאפשר למפתחים לעצב סרגלי גלילה על ידי ציון הצבעים והעובי שלהם. המפרט הזה מוסיף את שני המאפיינים הבאים. המאפיין scrollbar-color
מאפשר לשנות את ערכת הצבעים של פסי גלילה כדי שיתאימו יותר לסגנון הספציפי של דף האינטרנט. המאפיין scrollbar-width
מאפשר להשתמש בסרגלי גלילה צרים יותר שעשויים להתאים יותר לתרחישים מסוימים, או אפילו כדי להסתיר את פסי הגלילה לגמרי בלי להשפיע על יכולת הגלילה.
אנימציה של font-palette
ב-CSS עבור גופני צבע
מאפיין ה-CSS font-palette
מאפשר בחירה של לוח צבעים ספציפי לעיבוד גופן צבע. הודות לתמיכה החדשה שנוספה להוספת אנימציה למאפיין הזה, מעבר בין לוחות צבעים כבר לא מתבצע בשלב נפרד, אלא הופך למעבר חלק בין שני לוחות צבעים נבחרים. התכונה הזו פועלת בכל מקום באנימציות ומעברים של CSS.
תכונות איות ודקדוק ב-CSS
ב-CSS מדגישים רכיבים פסאודוגרפיים לעיצוב טקסט שסוכן המשתמש סימן כשגיאות איות או דקדוק. קישוטי השורות שחושפים את קישוטי ברירת המחדל של סוכן המשתמש לשגיאות איות ודקדוק. התכונות האלה מאפשרות למפתחים לבחור צבעים קריאים יותר לשגיאות האיות והדקדוק שמוגדרות כברירת מחדל, להדגיש מילים שאויתו בצורה שגויה בצבעי רקע או בקישוטים אחרים, וליישם בדיקת איות בהתאמה אישית שמשתלבת בחוויית השימוש במכשיר.
אנונימיזציה משופרת של CSS ב-SVG
זוהי בהמשך לתמיכה המשופרת במסכת CSS ב-Chrome 120, ונוספה תמיכה חדשה באנונימיזציה ב-SVG (כמה מסכות וגם mask-mode
, mask-composite
, mask-position
ו-mask-repeat
). בנוסף, יש עכשיו תמיכה במסכות SVG מרחוק (לדוגמה, mask: url(masks.svg#star)
).
ערכי תצוגה ספציפיים ל-Ruby
נוספו ערכים חדשים של מאפייני תצוגה ב-CSS, ruby
ו-ruby-text
. ערכי ברירת המחדל לתצוגה של <ruby>
ו-<rt>
משתנים ל-ruby
ו-ruby-text
בהתאמה, ובפריסת Ruby מובאים בחשבון ערכי התצוגה האלה. מחברי אתרים יכולים להשתמש בכל רכיב כמו <div>
כדי לעבד את Ruby על ידי הגדרת ערכי התצוגה החדשים.
ממשקי API לאינטרנט
חבילת תכונות של דיווח שיוך (Attribution): עיכובים מצטברים מופחתים, שדה Epsilon של דוח ברמת האירוע, מפתחות שמורים
עשינו ב-Chrome שינויים ב-Attribution Reporting API שמתמקדים בנושאים הבאים:
- צמצום אובדן ההעברה על ידי תמיכה בצמצום עיכובים בדיווח מצטבר.
- אפשרויות הגדרה נוספות של ה-API באמצעות תמיכה בשדה אפסילון של דיווח ברמת האירוע.
- יכולת הרחבה של ה-API שופרה על ידי כישלון הרשמות כאשר נתקלים במפתחות שמורים.
API של 'מטמון לדף הקודם/הבא' notRecoverReason API
ה-notRecoverReason API ידווח על רשימת הסיבות לכך שדף לא מוצג מהמטמון לדף הקודם/הבא באמצעות PerformanceNavigationTiming API.
נדרשת תנועת משתמש לשינוי גודל ממשקי ה-API במצב 'תמונה בתוך תמונה' במסמך
הפעולה הזו מפעילה את השיטות resizeBy()
ו-resizeTo()
בחלונות עם תמונה בתוך תמונה של מסמך, אבל יחד עם זאת, כדי לצמצם את הפוטנציאל לניצול לרעה, חלה הגבלה נוספת על תנועת המשתמש.
ממשק API של EditContext
ממשק ה-API של EditContext מפשט את תהליך השילוב של אפליקציית אינטרנט עם שיטות מתקדמות של קלט טקסט, כמו כתיבת צורות של VK, חלוניות כתב יד, זיהוי דיבור וקומפוזיציות של IME. היא משפרת את הנגישות ואת הביצועים, ומעניקה גישה ליכולות חדשות של עורכים מבוססי-אינטרנט.
זיהוי תכונות בפורמטים נתמכים של לוח העריכה
עכשיו אפשר לבדוק אם Async Clipboard API תומך בסוג MIME מסוים. לשם כך, קוראים לפונקציה supports()
החדשה ומעבירים את סוג ה-MIME כארגומנט, למשל, ClipboardItem.supports('image/png')
.
HTMLSelectElement showPicker()
השיטה showPicker()
של HTMLSelectElement מאפשרת למפתחים לפתוח באופן פרוגרמטי את בוחר האפשרויות של רכיב <select>
, בהתאם לדפוס input.showPicker()
.
MediaCapabilities: שליחת שאילתות לתמיכה ב-HDR באמצעות decodingInfo()
הרחבת ה-API של יכולות המדיה כדי לאפשר זיהוי של תמיכה בעיבוד HDR באמצעות שלושה שדות חדשים של מילון VideoConfiguration: hdrMetadataType, colorGamut, TransferFunction.
Chromium מיישם אלגוריתמים משלו למיפוי גוונים, כך שתמיד יוחזר הערך true עבור מטא-נתונים סטטיים מסוג HDR10 (smpteSt2086). בשלב זה אין תמיכה ב-smpteSt2094-40 (HDR10+ ) ובמטא-נתונים דינמיים מסוג smpteSt2094-10, ולכן יש להחזיר FALSE.
Private Aggregation API: בחירת מתאם צבירה
השינוי ב-Private Aggregation API מאפשר לבחור את המתאם שישמש להצפנת מטען ייעודי (payload) (מרשימת היתרים שצוינה על ידי ספק). בחירת השירות מתבצעת עם אפשרות נוספת בשיחות run()
ו-selectURL()
של נפח אחסון משותף, ובקריאות runAdAuction()
ו-joinAdInterestGroup()
של Protected Audience. הגישה הרחבה תואמת במידה רבה לזו של Attribution Reporting API.
ממשק API של הפעלה מרחוק במחשב
ה-API הזה מרחיב את HTMLMediaElement
שמאפשר שליטה בהפעלה מרחוק של מדיה מדף אינטרנט. החבילה הזו נשלחה ל-Android בגרסת Chrome 56, וזמינה במחשב בגרסה 121 של Chrome.
ממשק API של כללי ספקולציות
יש תכונות חדשות ב-Speculation Rules API.
תמיכה בכללי מסמכים: זוהי תוסף לתחביר של כללי הספקולציות, שמאפשר לדפדפן להשיג את רשימת כתובות ה-URL לטעינה ספקולטיבית מרכיבי <a>
בדף. ההנחיות עשויות לכלול קריטריונים שעבורם אפשר להשתמש בקישורים האלה. השילוב הזה, בשילוב עם השדה החדש 'eagerness' עבור כללי ספקולציות, מאפשר למפתחים לשלוף מראש או לעבד מראש קישורים בדפים באופן מיידי, באמצעות העברת העכבר מעל או עם העכבר.
שינוי נפרד מאפשר לציין כללי ספקולציות באמצעות כותרת התגובה Speculation-Rules
של HTTP כחלופה לשימוש ברכיבי <script>
מוטבעים. הערך של הכותרת הזו חייב להיות כתובת URL שמפנה למשאב טקסט עם סוג MIME מסוג "application/speculationrules+json"
. הכללים של המשאב יתווספו לקבוצת הכללים של המסמך.
לבסוף, הרמז No-Vary-Search
מאפשר התאמה של שליפה מראש באמצעות ספקולציות, גם אם הפרמטרים של השאילתה בכתובת ה-URL משתנים. כותרת התגובה No-Vary-Search
של HTTP מצהירה שאפשר להתעלם מחלקים או מחלקים של השאילתה בכתובת URL לצורך התאמה. הוא יכול להצהיר שסדר המפתחות של פרמטרים של שאילתות לא אמור למנוע התאמות, שפרמטרים ספציפיים של שאילתה לא יכולים למנוע התאמות, או שרק פרמטרים מסוימים של שאילתה אמורים לגרום לחוסר התאמה.
אובייקטים בממשק SpeechSynthesis ו-SpeechSynthesisVoice
הוספת האובייקטים של הממשק SpeechSynthesis
ו-SpeechSynthesisVoice
לתכונות שכבר נתמכות. כך מתאפשר זיהוי של תכונות באמצעות SpeechSynthesisVoice.prototype.
ממשק API של קטגוריות אחסון
קטגוריות אחסון מאפשרות לאתרים לארגן את הנתונים במכשיר ב'קטגוריות' נפרדות, וכך סוכני המשתמש יכולים להוציא את הנתונים המקובצים בנפרד מאלה שבקטגוריות אחרות. בנוסף, האתרים יכולים לנהל נתונים שקשורים מבחינה סמנטית. כל קטגוריית אחסון יכולה להכיל נתונים המשויכים לממשקי API קיימים של אחסון, כמו IndexedDB ו-CacheStorage.
URLPattern: ירושה משמאל, תו כללי לחיפוש מימין
שינויים בהתנהגות של תבניות שנוצרו באמצעות כתובת URL בסיסית, באמצעות התחביר של מחרוזת ה-constructor או בשניהם – אבל לא כל תבנית שמציינת במפורש רכיבים בנפרד ללא כתובת URL בסיסית.
הרכיבים לא עוברים בירושה מכתובת URL בסיסית אם רכיב "מוקדם יותר" צוין במפורש. בפורמט המחרוזת, רכיבים 'מאוחר יותר' שלא צוינו מופיעים עם תווים כלליים במרומז, ולא חייבים להיות ריקים (למעט היציאה, שתמיד יש לציין אותה כששם המארח הוא). שם המשתמש והסיסמה אף פעם לא מצוינים ולא עוברים בירושה באופן מרומז.
כך הדפוסים יהיו רחבים יותר מבעבר, במקרים שבהם תווים כלליים לחיפוש צפויים להיות רצוי.
URLPattern: סימון RegExp v
במקום u
ה-URL pattern API מאפשר למפתחים לציין מחרוזות של תבניות. האלה מומרים לביטויים רגולריים באופן פנימי.
כאשר ה-API הוטמע בפעם הראשונה, הביטויים הרגולריים האלה קודרו עם הדגל u
. גרסה 121 של Chrome מעדכנת אותו לדגל v
, וכך היא מפעילה קבוצות Unicode.
תוספות ל-WebGPU
מעכשיו, WebGPU מאפשר למפתחים להשמיט נקודות כניסה למודולים של תוכנת הצללה (shader) בעת יצירת צינור עיבוד נתונים, וכך לשפר את הארגונומיה. אם לא נמצאה נקודת כניסה שמוגדרת כברירת מחדל, השגיאה GPUValidationError תופעל כרגיל.
שאילתות חותמת הזמן של WebGPU מאפשרות לאפליקציות WebGPU למדוד במדויק (עד לננו-שנייה) כמה זמן לוקח לפקודות ה-GPU לפעול, במיוחד בתחילתו ובסופו של דבר. שאילתות חותמת זמן משמשות בעיקר לקבלת תובנות לגבי הביצועים וההתנהגות של עומסי עבודה של GPU.
המפרט של WebGPU הופך שאילתות של חותמת זמן לתכונה אופציונלית עקב בעיות של התקפת התזמון, אבל אנחנו מאמינים שקוואנטיזציה של שאילתות בחותמת זמן מספקת בסיס טוב על ידי הפחתת הדיוק של טיימרים עם רזולוציה של 100 מיקרו-שניות.
אנקפסולציה של מפתח X25519Kyber768 ל-TLS
הגנה על התנועה הנוכחית ב-TLS ב-Chrome מפני קריפטאנליזה קוונטית עתידית באמצעות פריסת האלגוריתם Kyber768 של פרוטוקול מפתח העמיד לקוונטית. זהו הסכם מפתח היברידי X25519 + Kyber768 שמבוסס על תקן IETF. המפרט וההשקה האלה לא נכללים בהיקף של W3C. הסכם המפתח הזה יושק כצופן TLS, ועליו להיות שקוף למשתמשים.
גרסאות מקור לניסיון מתבצעות
ב-Chrome 121 אפשר להביע הסכמה לשימוש בגרסאות המקור לניסיון החדשות הבאות.
ממשק ה-API של Element Capture
Element Capture API מספק שיטות ללכידת עץ משנה של ה-DOM.
בהינתן סרטון MediaStreamTrack התקבל דרך אמצעים קיימים להפעלת לכידת כרטיסיות, התכונה 'לכידת רכיבים' מאפשרת לבצע שינוי של המסלול כדי לתעד רק עץ משנה של ה-DOM שמתחיל ברכיב נתון.
ה-API דומה לממשק ה-API של Region Capture API, אבל הוא מציע גמישות רבה יותר באפליקציות, מכיוון ששניהם לא נכללים בצילום.
הרשמה לגרסת המקור לניסיון של ElementCapture
שינויים בהתנהגות קיימת
גרסה 121 של Chrome כוללת את השינוי הבא בהתנהגות הקיימת, שנכלל כאן כדי שהמפתחים יהיו מודעים לשינוי .
מחיקת אירועי קלט ל-Iframes שהועברו לאחרונה בין מקורות
אם iframe חוצה-מקורות הועבר לאחרונה לדף ההטמעה שלו, Chrome יתעלם מאירועים שמטרגטים את ה-iframe באופן שקט. הסיבה לכך היא שאם ה-iframe עבר לאחרונה, סביר להניח שהמשתמש לא התכוון ללחוץ עליו או להקיש עליו.
השינוי בוצע בהשקה מוגבלת ב-2019: הוא השפיע רק על מסגרות iframe שמכילות סקריפט שמשתמשים בתכונות מגרסה 2 של IntersectionObserver (כלומר, הסתרה או זיהוי אפקטים). ההשקה הזו תרחיב את ההתנהגות הזו לכל מסגרות ה-iframe ממקורות שונים, ותתחיל כניסוי מוגבל ב-Chrome 121 ואז תגדל.