גרסת בטא של 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 תוכלו למצוא רשימת מיפויים נפוצים ומידע נוסף.

שאילתות קונטיינר עם סגנון הקשר בוליאני

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

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

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

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

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

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

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

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

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

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

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

שדרוגי HTTPS

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

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

כדי למנוע סוגים מסוימים של מעקב באתרים שונים בערוצים צדדיים, 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

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

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

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

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

ב-Chrome 115 תוכלו להצטרף לגרסאות המקור לניסיון החדשות הבאות.

לחץ חישוב

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

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

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

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

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

ממשק 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. בדף Chrome משבית את האפשרות לשנות את document.domain כדי לקבל חלופות לשימוש ב-document.domain. ברוב המקרים, הממשק postMessage() ממקורות שונים או Channel Messaging API יכולים להחליף את document.domain. אם אין ברירה, אפשר להביע הסכמה לשימוש בדומיין המסמך באמצעות אשכולות סוכנים המשויכים למקור. רכיב המגדיר יישאר, אבל המקור יישאר ללא שינוי.

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

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

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