Chrome 129 בטא

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

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

נכס ה-CSS interpolate-size מאפשר לדף להביע הסכמה להצגת אנימציות ומעברים של מילות מפתח פנימיות של CSS לבחירת גודל, כמו auto, ‏ min-content ו-fit-content, במקרים שבהם אפשר להציג אנימציה של מילות המפתח האלה.

פונקציית ה-CSS calc-size() היא פונקציית CSS שדומה ל-calc(), אבל היא תומכת גם בפעולות על מילת מפתח אחת בלבד שתומכת בגודל. מילות המפתח הנתמכות כרגע לבחירת גודל הן auto,‏ min-content,‏ max-content ו-fit-content. מילות מפתח אחרות של קביעת גודל שעשויות לקבל תמיכה בעתיד כוללות את stretch (יש כרגע תמיכה בתחילית -webkit-fill-available) ואת contain. הפונקציה הזו משמשת לייצוג הערכים באמצע האנימציות שמותרות על ידי המאפיין interpolate-size.

שינוי השם של מיקום עוגן CSS inset-area ל-position-area

קבוצת העבודה בנושא CSS החליטה לשנות את השם של המאפיין הזה מ-inset-area ל-position-area. ב-Chrome 129 מופיעה position-area, השם inset-area יוסר בגרסה עתידית.

מיקום של עוגן CSS: ללא עטיפה inset-area()

הפונקציה מחליפה את הפונקציה inset-area() בערכים של אזור ההכנסה ישירות ב-position-try-fallbacks. לדוגמה, במקום position-try-fallbacks:inset-area(top) צריך להשתמש ב-position-try-fallbacks:top.

עדכון של backdrop-filter ב-CSS כך שישתמש ב-edgeMode של mirror

מאפיין ה-CSS backdrop-filter מחיל מסנן אחד או יותר על הרקע של רכיב. הרקע הוא התוכן שצויר שמאחורי הרכיב. מסנן נפוץ הוא טשטוש שמאפשר למעצבים ליצור תיבות דו-שיח עם 'זכוכית מט', שכבות-על של וידאו, כותרות שקופות של ניווט ועוד.

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

ממשקי API של אתרים

תמיכה ב-Blob בערוצי נתונים של WebRTC

מטמיע את RTCDataChannel.send(Blob), ועכשיו אפשר לקבל נתונים מסוג Blob באירוע onMessage באמצעות המאפיין binaryType.

בנוסף לתמיכה בשליחת מחרוזות ו-ArrayBuffers, עכשיו אפשר לבחור לשלוח Blob במקום, כל עוד הגודל שלו נמוך מ-maxMessageSize של התעבורה ב-SCTP, כפי שמצוין במפרט של WebRTC.

כשהמאפיין binaryType מוגדר כ-"blob", מאפיין הנתונים של האירוע onMessage יהיה מסוג Blob במקום ArrayBuffer הנתמך כרגע.

פקודות של תוסף Compute Pressure ל-WebDriver

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

Intl.DurationFormat

שיטה לעיצוב משכי זמן, לדוגמה '1 שעה 40 דקות 30 שניות', שתומכת במספר אזורי זמן.

Private Aggregation API: מיזוג תרומות בצד הלקוח

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

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

scheduler.yield()

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

Web Authentication API: שיטות לסריאליזציה של JSON

השיטות PublicKeyCredential.toJSON(),‏ parseCreationOptionsFromJSON() ו-parseRequestOptionsFromJSON() של WebAuthn מאפשרות למפתחים לבצע סריאליזציה של תגובה של WebAuthn לאובייקט JSON או לבצע דה-סריאליזציה של אובייקט בקשה של WebAuthn מהייצוג שלו ב-JSON.

תמיכה בטווח מורחב (HDR) ב-WebGPU

הוספת פרמטרים של מיפוי גוונים להגדרת הלוח של WebGPU, והוספת האפשרויות standard (ההתנהגות הנוכחית של הגבלת התוכן לטווח ה-SDR של המסך) כברירת מחדל, ו-extended (לא הטלת ההגבלה הזו) כהתנהגות חדשה. כך תוכן WebGPU יכול להשתמש במלוא הטווח של המסך.

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

ב-Chrome 129 אפשר להצטרף לגרסאות הניסיון החדשות הבאות.

ממשק FileSystemObserver

הממשק FileSystemObserver מעדכן אתרים על שינויים במערכת הקבצים. אתרים מזהים שינויים בקבצים ובספריות במכשיר המקומי של המשתמש (כפי שמפורט ב-WICG/file-system-access) או במערכת הקבצים של הקטגוריה (כפי שמפורט ב-fs.spec.whatwg.org), ומקבלים התראות על פרטי שינוי בסיסיים, כמו סוג השינוי.

נרשמים לתקופת הניסיון למקור של FileSystemObserver.

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

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

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

הוצאה משימוש של 0.0.0.0 לגישה לרשת פרטית

Chrome יחסום את הגישה לכתובת ה-IP 0.0.0.0 לפני ההשקה המלאה של Private Network Access‏ (PNA).

אנחנו מוציאים משימוש את הגישה הישירה לנקודות קצה של רשתות פרטיות מאתרים ציבוריים, כחלק ממפרט PNA. שירותים שמאזינים ב-localhost‏ (127.0.0.0/8) נחשבים פרטיים בהתאם למפרט. אפשר לעקוף את ההגנה של Chrome מפני PNA באמצעות כתובת ה-IP 0.0.0.0 כדי לגשת לשירותים שמאזינים ב-localhost ב-macOS וב-Linux.

אפשר גם לנצל לרעה את האפשרות הזו במתקפות של קישור מחדש של DNS שמטרגטות אפליקציית אינטרנט שמאזינה ב-localhost.

בגרסה הזו של Chrome הוסרנו שלוש תכונות.

הסרת הארגומנט includeShadowRoots ב-DOMParser

הארגומנט includeShadowRoots מעולם לא נכנס לתקן בפונקציה DOMParser.parseFromString(), שהתפקיד שלה היה לאפשר ניתוח חיוני לתוכן HTML שמכיל Declarative Shadow DOM. השינוי הזה שוחרר ב-Chrome 90 כחלק מהשחרור הראשוני של Declarative Shadow DOM.

עכשיו כשיש גרסה תקנית של התכונה הזו עם השיטות setHTMLUnsafe() ו-parseHTMLUnsafe(), הארגומנט הלא-תקני includeShadowRoots יוסר. צריך לעדכן את הקוד באופן הבא:

במקום:

((new DOMParser()).parseFromString(html,'text/html',{includeShadowRoots: true});

שימוש:

Document.parseHTMLUnsafe(html);

הסרה של סריאליזציה לא תקנית של Declarative Shadow DOM

אב הטיפוס של ההטמעה של Declarative Shadow DOM הכיל שיטה שנקראת getInnerHTML(), ששימשה לסריאליזציה של עצי DOM שמכילים שורשי shadow. החלק הזה באב הטיפוס לא הוכנס לתקן יחד עם שאר ה-Declarative Shadow DOM. במקום זאת, תוכנן תחליף – getHTML().

לכן, השיטה הישנה getInnerHTML() תוסר עכשיו מ-Chrome. צריך להשתמש ב-getHTML() כתחליף, שיהיה בקרוב תואם לדפדפנים שונים.

הסרת PointerEvent.getCoalescedEvents() מהקשרים לא מאובטחים

לפני יותר מארבע שנים, קבוצת העבודה Pointer Events הגבילה את PointerEvent.getCoalescedEvents() להקשרים מאובטחים, וכך הסירה את ה-API מהקשרים לא מאובטחים. במקור, Chrome שלח את ההתנהגות הישנה ולא עקב אחרי השינוי במפרט באופן מיידי בגלל חששות לגבי תאימות.

אנחנו מסירים אותו עכשיו מהקשרים לא מאובטחים כי התברר ששימוש ב-Chrome בהקשרים לא מאובטחים נמוך מאוד.