Chrome 131 בטא

תאריך הפרסום: 16 באוקטובר 2024

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

CSS

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

CSS Anchor Positioning: anchor-scope

המאפיין anchor-scope מאפשר להגביל את החשיפה של שמות העוגנים לעץ משנה נתון.

​CSS font-variant-emoji

מאפיין ה-CSS‏ font-variant-emoji מאפשר לשלוט בין גליפים של אמוג'י צבעוניים (בסגנון אמוג'י) לבין גליפים של אמוג'י מונוכרומטיים (בסגנון טקסט). אפשר לעשות את זה גם על ידי הוספה של בורר וריאציות של אמוג'י, באופן ספציפי U+FE0E לטקסט ו-U+FE0F לאמוג'י, אחרי כל נקודת קוד של אמוג'י.

תורשה של הדגשה ב-CSS

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

מידע נוסף זמין בפוסט בבלוג שינויים בהורשה של סגנונות בחירת CSS מאת סטיבן צ'ני מ-Igalia.

שיפורים במבנה הסגנון של הרכיבים <details> ו-<summary>

תמיכה בעיצוב CSS נוסף למבנה של רכיבי <details> ו-<summary> כדי לאפשר שימוש ברכיבים האלה במקרים נוספים שבהם נבנים בווידג'טים של גילוי נאות או בווידג'טים של אקורדיון באינטרנט. בפרט, השינוי הזה מסיר הגבלות שמנעו הגדרה של מאפיין התצוגה ברכיבים האלה, ומוסיף פסאודו-אלמנט ::details-content לעיצוב של הקונטיינר עבור החלק שמתרחב ומתכווץ.

@page תיבות שוליים

הוספת תמיכה בתיבות שוליים של דפים, כשמדפיסים מסמך אינטרנט או מייצאים אותו כ-PDF.

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

תיבת שוליים מוגדרת באמצעות כלל at בתוך כלל CSS @page. המאפיינים של תיבת השוליים, כולל המאפיין content, מוגדרים באמצעות מאפייני CSS בתוך כלל כרוכית. יש גם תמיכה במונים למספור דפים. במפרט מוגדרים שני שמות מיוחדים של מונה: page למספר הדף הנוכחי ו-pages למספר הכולל של הדפים.

תחביר של תמיכה ב-‎@property <string>

תמיכה בשם רכיב התחביר <string> למאפיינים מותאמים אישית רשומים.

תמיכה ב-currentcolor בתחביר של צבעים יחסיים

התרת שימוש בצבעים יחסיים ב-CSS (באמצעות מילת המפתח from) כדי להשתמש ב-currentcolor כבסיס. כך אפשר להגדיר צבעים משלימים, על סמך צבע הטקסט של רכיב מסוים, עבור הגבולות, הצלליות או הרקעים של הרכיב הזה.

התכונה הזו כוללת גם תרחישי שימוש שבהם פונקציות צבע מוטמעות עם תלות ב-currentcolor, לדוגמה color-mix(in srgb, rgb(from currentcolor r g b), white)) או rgb(from rgb(from currentcolor 1 g b) b g r).

תמיכה במקורות חיצוניים של SVG למאפיינים clip-path,‏ fill,‏ stroke ו-marker-*

התכונה הזו מוסיפה תמיכה בהפניות חיצוניות לנתיבי קליפ, לסמנים ולשרתי צבע (למאפיינים fill ו-stroke). לדוגמה, clip-path: url("resources.svg#myPath").

Web APIs

Direct Sockets API

ההגדרה מאפשרת לאפליקציות אינטרנט מבודדות ליצור תקשורת ישירה באמצעות פרוטוקול בקרת שידור (TCP) ופרוטוקול User Datagram‏ (UDP) עם מכשירים ומערכות ברשת, וגם להאזין לחיבורים נכנסים ולקבל אותם.

החרגת כותרת Speculation-Rules מהגבלות CSP

עדכון השילוב בין כללי ניחוש לבין CSP, כך ש-CSP יחול רק על <script type=speculationrules> ולא על הכותרת Speculation-Rules. מדיניות הסקריפטים של CSP נועדה להגן מפני הזרקת סקריפטים ל-HTML, ומודל האיומים של CSP לא קשור לכותרות HTTP. כך קל יותר לפרוס כללי ספקולציה מ-CDN ומשרתי קצה אחרים.

‫FedCM כאות אמון ל-Storage Access API

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

כשמשתמש מעניק הרשאה להשתמש בזהות שלו עם ספק זהויות (IdP) של צד שלישי בצד המסתמך (RP), הרבה ספקי זהויות דורשים קובצי Cookie של צד שלישי כדי לפעול בצורה תקינה ומאובטחת. ההצעה הזו נועדה לעמוד בדרישה הזו באופן פרטי ומאובטח, על ידי עדכון של בדיקות ההרשאות של Storage Access API ‏ (SAA). כך, המערכת לא רק תקבל את מענק ההרשאה שניתן על ידי הנחיה לגישה לאחסון, אלא גם את מענק ההרשאה שניתן על ידי הנחיה של FedCM.

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

ערך שובר COOP‏ noopener-allow-popups

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

במקרים כאלה, כדאי לוודא שמי שפותח את המסמך לא יכול להריץ בו סקריפט, גם אם המסמך שפותח אותו הוא מאותו מקור. הערך של noopener-allow-popups Cross-Origin-Opener-Policy מאפשר למסמכים להגדיר את ההתנהגות הזו.

‫Private Aggregation API: הגדלת מגבלת התרומה ל-100 עבור קוראים של Protected Audience

מאפשרים לסקריפטים של Protected Audience להוסיף עד 100 תרומות לכל דוח של Private Aggregation, לעומת המגבלה הנוכחית של 20.

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

בגלל הוספת נתונים מיותרים, המטען הייעודי (payload) של כל דוח קהלים מוגנים יהיה גדול יותר, גם אם לא היה צורך במגבלת התרומה הגדולה יותר. אנחנו צופים שהדוחות הגדולים יותר האלה יגדילו את העלות של הפעלת Aggregation Service.

בחירת הרפיה של מנתח התוכן

בעקבות השינוי הזה, המערכת לניתוח HTML מאפשרת תגים נוספים ב-<select> בנוסף ל-<option>, <optgroup> ו-<hr>.

השינוי הזה תומך בתכונה <select> שניתנת להתאמה אישית, אבל אנחנו משיקים אותו קודם כי אפשר לבצע אותו בנפרד ויש סיכון מסוים של אי-תאימות. צוות Chrome ישמח לקבל משוב על השינוי הזה.

‫WebGPU: מרחקי חיתוך

הוספנו את תכונת ה-GPU האופציונלית clip-distances שמאפשרת להגדיר מרחקי קליפ שהוגדרו על ידי המשתמש בפלט של הצללת קודקודים. הטכניקה הזו שימושית במיוחד לאפליקציות שצריכות לחתוך את כל הקודקודים בסצנה שנמצאים מעבר למישור שהמשתמש מגדיר, כמו הרבה אפליקציות CAD.

‫WebGPU: GPUCanvasContext getConfiguration()

אחרי שמפעילים את GPUCanvasContext configure() עם מילון הגדרות, אפשר להשתמש בשיטה GPUCanvasContext getConfiguration() כדי לבדוק את הגדרות ההקשר של אזור התצוגה. היא כוללת את חברי הקבוצות device,‏ format,‏ usage,‏ viewFormats,‏ colorSpace,‏ toneMapping ו-alphaMode. כמו שמוסבר בבעיה מספר 4828, אפליקציות אינטרנט יכולות להשתמש בה כדי לזהות אם יש תמיכה ב-HDR canvas ב-WebGPU.

‫WebHID ב-workers ייעודיים

הפעלה של WebHID בהקשרים ייעודיים של worker. כך אפשר לבצע פעולות קלט/פלט כבדות ועיבוד נתונים ממכשיר HID ב-thread נפרד, וכך לצמצם את ההשפעה על הביצועים ב-thread הראשי.

WebRTC RTCRtpEncodingParameters.scaleResolutionDownTo

‫API שמגדיר מקודדי WebRTC כדי לשנות את גודל מסגרות הקלט אם הן גדולות יותר מ-maxWidth ו-maxHeight שצוינו. ממשק ה-API הזה דומה ל-scaleResolutionDownBy, אבל אילוצי הרזולוציה מבוטאים במונחים מוחלטים (לדוגמה, 640x360) ולא במונחים יחסיים (לדוגמה, הקטנה פי 2), כדי למנוע תנאי מירוץ שקשורים לשינוי גודל מסגרת הקלט תוך כדי תנועה.

גרסאות מקור חדשות לניסיון

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

נתונים סטטיסטיים של הפעלת WebAudio

התכונה AudioContext.playoutStats מאפשרת לאפליקציה למדוד את האיכות ואת זמן האחזור של הפעלת אודיו באמצעות WebAudio.

Summarizer API

‫JavaScript API ליצירת סיכומים של טקסט קלט, שמגובה על ידי מודל שפה של AI.

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

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

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

הסרה של מאפיין CSS Anchor Positioning‏ inset-area

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

הסרת האפשרות להשבית את BeforeunloadEventCancelByPreventDefault

התכונה BeforeunloadEventCancelByPreventDefault הושקה ב-Chrome 117, אבל יש מדיניות של Chrome Enterprise שמאפשרת להשבית את הדגל הזה באופן אוטומטי. מדיניות הארגון תוסר ב-Chrome 131.

הסרה של השיטה הלא-סטנדרטית requestAdapterInfo() של GPUAdapter

קבוצת העבודה של WebGPU החליטה שאין אפשרות מעשית לגרום ל-requestAdapterInfo() להפעיל בקשה להרשאה, ולכן היא הסירה את האפשרות הזו והחליפה אותה במאפיין info של GPUAdapter, כדי שמפתחי אתרים יוכלו לקבל את אותו ערך GPUAdapterInfo באופן סינכרוני.