גרסת בטא של Chrome 115

מילות מפתח מרובות לנכס התצוגה של CSS, WGSLLanguageFeatures ל-WebGPU, שדרוגי HTTPS ועוד.

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

CSS

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

מספר ערכים של הנכס display

נכס ה-CSS display מקבל עכשיו כמה מילות מפתח בתור ערך, מלבד מילות המפתח הקודמות שהוגדרו מראש. שתי מילות המפתח הראשונות מייצגות את הערך החיצוני והפנימי של התצוגה, יש סימונים אופציונליים עבור list-item, ערכים פנימיים כמו table-cell, וערכי התיבה contents ו-none.

בעזרת מילות המפתח החיצוניות והפנימיות, ניתן להגדיר את אופן הפעולה של התיבה החיצונית (חסימה או בתוך השורה) ואיך הילדים הפנימיים מתנהגים, לדוגמה: flex, grid או flow. לכן, display: flex הופך ל-display: block flex ו-display: block הופך ל-display: block flow. ב-MDN יש רשימה של מיפויים נפוצים ומידע נוסף.

שאילתות של מאגר בסגנון הקשר בוליאני

בגרסת Chrome 115 יש תמיכה בשאילתות של מאגר style() ללא ערך הצהרה, רק שם מאפיין, כדרך להתאים בין ערכים לא ראשוניים. בעבר היה צריך להשתמש בערך: not style(--my-property: initial). עכשיו אפשר להשתמש ב: style(--my-property) כדי להתאים כל ערך שאינו ראשוני.

אנימציות שמבוססות על גלילה

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

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

תיקון לרגרסיה שבה רכיבים עם display: contents לא הוצגו יותר בעץ הנגישות

בוצעה רגרסיה שגרמה לרכיבים עם display: contents לאבד מידע סמנטי, ולא היה מיוצג יותר בעץ הנגישות. בגרסה 115 של Chrome יש תיקון לבעיה.

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

הגדלת הגודל המקסימלי של WebAssembly.Module() ב-thread הראשי ל-8MB

הבונה WebAssembly.Module() יוצר מודול WebAssembly בינארי באופן סינכרוני, שיכול לחסום את ה-thread הראשי. כדי להימנע מכך, הגודל המקסימלי של מודול WebAssembly שניתן להדר אותו באמצעות ה-constructor הזה מוגבל ל-8MB. אפשר לבצע הידור מודולים גדולים יותר באופן אסינכרוני ב-thread הראשי באמצעות WebAssembly.compile(), או באופן סינכרוני ב-thread של worker. המגבלה של 8MB היא תוספת למגבלה המקורית של 4KB. התוסף הזה אפשרי הודות לשיפורים בסביבת זמן הריצה של WebAssembly מגרסה 8. המגבלה של 8MB נקבעה על סמך מדידות הביצועים בטלפון Google Pixel 1, שנחשב כרגע לטלפון בסיסי מייצג. פיתוחים עתידיים ב-V8 או בחומרה עשויים לאפשר הארכת זמן נוספת של המגבלה.

FedCM: תמיכה בדרישות הגישור של ניהול פרטי הכניסה לצורך אימות מחדש אוטומטי

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

שדרוגי HTTPS

שדרוג אוטומטי ואופטימי של כל הניווטים בתמונה הראשית ל-HTTPS, עם חזרה מהירה ל-HTTP.

חלוקה למחיצות (partitioning) של ממשקי ה-API של Storage, Service Worker ו-Communication

כדי למנוע סוגים מסוימים של מעקב באתרים שונים בערוצים צדדיים, Chrome מפריד את ממשקי ה-API של האחסון והתקשורת בהקשרים של צד שלישי. כולל אחסון בניהול מכסה, קובצי שירות (service worker) וממשקי API לתקשורת (כמו BroadcastChannel). אפשר לקרוא פרטים נוספים במסמכי התיעוד בנושא חלוקה למחיצות (partitioning) באחסון.

תזמון משאב: חשיפת זמני תגובה זמניים

חשיפה של PerformanceResourceTiming.firstInterimResponseStart במקרים שבהם אחזור של ניווט או משאב משנה נתקלים בתגובה זמנית מסוג 1xx. לדוגמה, עם 100 רמזים מוקדמים או 103 רמזים מוקדמים, firstInterimResponseStart מייצג עכשיו את הזמן של התגובה הזמנית הראשונה, בעוד responseStart מייצג את התשובה הסופית, למשל עם סטטוס 200.

עדכון הטיפול בקידומת "xml" ב-lookupNamespaceURI() וב-createNSResolver()

ב-Node.lookupNamespaceURI() יש תמיכה כברירת מחדל בקידומות 'xml' ו-'xmlns'. הפונקציה מחזירה עבורם מחרוזות של מרחב שמות קבוע. המערכות Document.createNSResolver() ו-XPathEvaluator.createNSResolver() עוצרות כדי לעטוף את הצומת שצוין כדי להוסיף טיפול בקידומת 'xml'. הם מחזירים את הצומת שצוין כפי שהוא. מפתחי אתרים יכולים להשתמש עכשיו ברכיב כ-XPathNSResolver בלי לסגור אותו ב-createNSResolver().

VisibilityStateEntry

חושף את מצב החשיפה (גלוי או מוסתר) בציר הזמן של הביצועים. בציר הזמן תמיד תהיה רשומה עם startTime ש-0 ומצב החשיפה הראשוני, וכן ערכים שתואמים לכל שינוי במצב החשיפה.

WGSLLanguageFeatures עבור WebGPU

הוספת הפונקציה wgslLanguageFeatures לאובייקט ה-GPU עבור WebGPU, ולסוג ה-WGSLLanguageFeatures התואם שלו.

פקודות WebDriver לאינטראקציה עם תיבות דו-שיח של FedCM

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

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

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

הלחץ המחושב

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

הרשמה לגרסת המקור לניסיון של Compute Pressure.

רמזים להידור מפורשים עם תגובות קסם

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

נרשמים לתקופת הניסיון של הרמזים המפורשים להידור עם תגובות הקסם.

ממשק API של מסגרות אנימציה ארוכות

זו תוסף של Long Tasks API. היא מודדת את המשימה ביחד עם עדכון הרינדור הבא, ומוסיפה מידע כמו סקריפטים ארוכים, זמן רינדור והזמן שהוקדש לפריסה מאולצת ולסגנון הידוע כ'ריצת פריסה'. מפתחים יכולים להשתמש בזה כאבחון של 'איטיות', הנמדדת באמצעות Interaction to Next Paint (INP), על ידי מציאת הגורמים לעומס ב-thread הראשי, שבדרך כלל הוא הגורם ל-INP הבעייתי.

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

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

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

הוצאה משימוש והסרות

הגרסה הזו של Chrome מציגה את ההסרות וההוצאה משימוש המפורטות בהמשך. בכתובת ChromeStatus.com אפשר למצוא רשימות של הוצאה משימוש מתוכננות, יצאו משימוש כרגע והסרות קודמות.

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

מוציאים משימוש את מגדיר document.domain

אנחנו מוציאים משימוש את המגדיר document.domain מאחר שהוא מאפשר למפתחים לשנות את מדיניות המקור הזהה, ולכן הוא מסבך את גבולות האבטחה הבסיסיים שאנחנו שואפים לקיים, ומציב מכשולים שמונעים שינויים פוסט-ספקטרליים במודל העיבוד של Chromium. למידע חלופות לשימוש ב-document.domain, כדאי להיכנס לדף Chrome משבית את האפשרות לשנות את document.domain. ברוב מקרי השימוש, postMessage() ממקורות שונים או Channel Messaging API יכולים להחליף את document.domain. כמוצא אחרון, אפשר להצטרף לדומיין המסמך באמצעות אשכולות סוכנים המשויכים למקור. רכיב ההגדרה יישאר, אבל המקור לא ישתנה.

הוצאה משימוש של אירועי מוטציה

אירועי מוטציה, כולל DOMSubtreeModified, DOMNodeInserted, DOMNodeRemoved, DOMNodeRemovedFromDocument, DOMNodeInsertedIntoDocument הוצאו משימוש במפרט בשנת 2011 והוחלפו ב-2012 ב-Mutation Observer API. צריך להעביר את השימוש באירועי המוטציה המיושנים ל-Mutation שפות לפני ההסרה ב-Chrome 127 (20 ביולי 2024).

מידע נוסף על ההוצאה משימוש של אירועי מוטציה.