גרסה 126 של Chrome

תאריך ההשקה של הגרסה היציבה: 11 ביוני 2024

אלא אם צוין אחרת, השינויים הבאים חלים על גרסת הערוץ היציב של Chrome 126 ל-Android, ל-ChromeOS, ל-Linux, ל-macOS ול-Windows.

CSS

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

בעבר הייתם צריכים לשנות את הארכיטקטורה של האתר ל-SPA כדי להשתמש ב-View Transitions API. הם לא נספרים כך יותר. מעברי תצוגה מופעלים עכשיו כברירת מחדל לניווטים מאותו מקור. אפשר ליצור מעבר תצוגה בין שני מסמכים שונים מאותו מקור.

כדי להפעיל מעבר בין תצוגות של מסמכים שונים, צריך להביע הסכמה בשני הצדדים. כדי לעשות את זה, משתמשים בכלל at-rule‏ @view-transition ומגדירים את המתאר navigation לערך auto.

@view-transition {
  navigation: auto;
}

מעברי תצוגה בין מסמכים שונים משתמשים באותם עקרונות ואבני בניין כמו מעברי תצוגה באותו מסמך. רכיבים שמוגדר להם view-transition-name נלכדים, ואפשר להתאים אישית את האנימציות באמצעות אנימציות CSS.

מעברים חלקים באמצעות View Transition API | באג מעקב מספר 1372584 | רשומה ב-ChromeStatus.com | מפרט

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

תוסף trigger-rumble ל-Gamepad API

הרחבה של ממשק GamepadHapticActuator כדי לחשוף את היכולת trigger-rumble באינטרנט לשלטי משחק תואמים. התוסף הזה יאפשר לאפליקציות אינטרנט שמשתמשות ב-Gamepad API גם להפעיל רטט בטריגרים של בקרי משחק שמצוידים בפונקציונליות הזו.

באג מעקב מספר 40834175 | רשומה ב-ChromeStatus.com | מפרט

אפליקציות אינטרנט עם כרטיסיות ב-ChromeOS

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

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

באג מעקב מספר 40598974 | רשומה ב-ChromeStatus.com | מפרט

שיטה אחת (toJSON()) ל-GeolocationCoordinates ול-GeolocationPosition

הוספת methods מסוג .toJSON() לממשקים GeolocationCoordinates ו-GeolocationPosition. כך אפשר לבצע סריאליזציה של האובייקטים האלה באמצעות JSON.stringify().

רשומה ב-ChromeStatus.com

ממשק-על של Web IDL מסוג WebGLObject

התכונה הזו חושפת את הסוג WebGLObject באותם הקשרים שבהם WebGL API נחשף – ב-main thread וב-workers.

רשומה ב-ChromeStatus.com | מפרט

הפעלה מחדש של ה-API של CloseWatcher וסגירת הבקשות של <dialog> ו-popover=""

‫CloseWatcher API מאפשר לטפל בבקשות סגירה, כמו מקש ESC בפלטפורמות למחשב או תנועת החזרה או הלחצן ב-Android, באופן אחיד. התכונה הזו הושקה במקור ב-Chrome 120, אבל הושבתה בגלל אינטראקציה לא צפויה עם <dialog>. היא הופעלה מחדש ב-Chrome 126 אחרי כמה שיפורים בהתנהגות שלה כדי לצמצם את הבעיות שזוהו.

הדגמה | מעקב אחר באג מספר 1171318 | רשומה ב-ChromeStatus.com

‫Attribution Reporting API: מדיניות מקור ההפניה (referrer) לבקשות attributionsrc

בקשות attributionsrc מטופלות כמו משאבי משנה אחרים בדף.

בעבר, כשממשק ה-API הופעל באמצעות המאפיין attributionsrc כחלק מרכיבי HTML שונים (כמו <img>,‏ <script>,‏ <a> או window.open), הוא התעלם ממאפיין מדיניות ההפניה ברמת המשאב שהוגדר ברכיב <html>.

בעקבות השינוי הזה, בקשת attributionsrc תחיל עכשיו את אותה מדיניות הפניה ברמת המשאב שמוגדרת ב-<img>, ב-<script>, ב-<a> או ב-window.open.

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

רשומה ב-ChromeStatus.com

מדיה

תמיכה במאגר MP4 ב-MediaRecorder

נוספה תמיכה במיזוג אודיו ווידאו למאגרי MP4 באמצעות MediaRecorder.

MediaRecorder | רשומה ב-ChromeStatus.com | מפרט

הפרמטרים signal ו-application של OpusEncoderConfig

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

הערך של signal יכול להיות "auto",‏ "music" או "voice". הוא מגדיר את המקודד לביצועים הטובים ביותר בקידוד של סוג הנתונים שצוין. הערך של application יכול להיות "voip",‏ "audio" או "lowdelay". הוא מגדיר את המקודד כך שיעדיף מובנות של הדיבור, שחזור נאמן של הקלט המקורי או זמן אחזור מינימלי.

רשומה ב-ChromeStatus.com | מפרט

JavaScript

תמיכה של visualViewport ב-onscrollend

אירוע ה-JavaScript‏ scrollend מופעל כדי לאותת שפעולת הגלילה הסתיימה.

הממשק visualViewport כולל גורם מטפל באירועים onscrollend שצריך להפעיל כשפעולת הגלילה ב-visualViewport מסתיימת. ב-Chrome כבר יש תמיכה בהוספה של רכיב event listener מסוג scrollend באמצעות visualViewport.addEventListener("scrollend"). היא רק מאפשרת להוסיף גם רכיב event listener באמצעות visualViewport.onscrollend.

באג מעקב מספר 325307785 | רשומה ב-ChromeStatus.com

פרטיות

התאמת navigator.cookieEnabled למפרט

navigator.cookieEnabled מציין כרגע אם "סוכן המשתמש מנסה לטפל בקובצי Cookie" בהקשר נתון. שינוי ב-Chrome, שיושק כחלק מההוצאה משימוש של קובצי Cookie של צד שלישי (3PCD), יגרום לו לציין אם אפשר לגשת לקובצי Cookie לא מחולקים (מה שיגרום לו להחזיר ערך False ברוב רכיבי ה-iframe באתרים שונים). אנחנו צריכים לשחזר את ההתנהגות הקודמת של navigator.cookieEnabled, שציינה רק אם קובצי ה-Cookie הופעלו או הושבתו באתר, ולהסתמך על הפונקציה document.hasStorageAccess של ספקים שונים כדי לציין אם אפשר לגשת לקובצי Cookie ללא מחיצות.

באג מעקב מספר 335553590 | רשומה ב-ChromeStatus.com | מפרט

נגישות

תמיכה ב-UI Automation Accessibility Framework ב-Windows

אפליקציות מודרניות של טכנולוגיות מסייעות ב-Microsoft Windows משתמשות במסגרת הנגישות לאוטומציה של ממשק המשתמש של הפלטפורמה, כדי לפעול באופן הדדי עם ממשקי המשתמש של אפליקציות אחרות. עד עכשיו, Chromium תמך במסגרת הישנה יותר של Microsoft Active Accessibility ‏(MSAA) ו-IAccessible2 ‏(IA2) למטרה הזו, מה שהוביל לבעיות בכלי הנגישות ב-Windows.

כדי לפתור את הבעיה, מיקרוסופט עבדה עם צוות Chrome כדי לתמוך ישירות במסגרת UI Automation‏ (UIA) ב-Windows, וכך להקל על כלי הנגישות לתקשר עם הדפדפן. אנחנו נתחיל השקה הדרגתית לגרסה היציבה, החל מגרסה 126 של Chrome. השינוי הזה יאפשר ל-Voice Access לפעול בכל הדפדפנים שמבוססים על Chromium, וישפר את חוויית המשתמש בכל כלי הנגישות שמבוססים על UIA, כמו Narrator ו-Magnifier.

חדש: תמיכה ב-UIA ב-Windows

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

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

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

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

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

גרסת מקור לניסיון | הסבר | רשומה ב-ChromeStatus.com

ביטול ההסכמה לתצוגה מקדימה של מדיה

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

‫Chrome יציג תצוגות מקדימות בזמן אמת של הקלט מהמצלמה ומהמיקרופון כשהאתרים יבקשו הרשאות גישה למצלמה והרשאת גישה למיקרופון. הם יהיו זמינים גם בפרטי הדף של האתר.

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

גרסת מקור לניסיון | באג מעקב מספר 330762482 | רשומה ב-ChromeStatus.com

‫FedCM: ‏Continuation API, ‏Parameters API, ‏Fields API, ‏Multiple configURLs, ‏Custom Account Labels

מפתחים יכולים להתחיל להשתתף בגרסת מקור לניסיון של חבילת תכונות FedCM למחשב, שיכולה לכלול הרשאה. החבילה כוללת את ממשקי ה-API הבאים של FedCM: ‏Continuation API, ‏Parameter API, ‏Fields API, ‏Multiple configURLs ו-Custom Account Labels. כך אפשר להפעיל חוויה שדומה לתהליך הרשאה של OAuth, שכוללת תיבת דו-שיח של הרשאה שמספק ספק הזהויות.

באג מעקב מספר 40262526 | רשומה ב-ChromeStatus.com

בקרת הרשאות מוטמעת בדף

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

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

רשומה ב-ChromeStatus.com

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

הוצאה משימוש והסרה של תחביר assert של טענת נכוֹנוּת (assertion) של ייבוא

הוצאה משימוש והסרה של מילת המפתח assert לטובת מילת המפתח החדשה with בתחביר של מאפייני ייבוא.

כלומר, import m from 'foo' assert { type: 'json' } יגרום עכשיו לשגיאת SyntaxError, והמפתחים צריכים לעבור ל-import m from 'foo' with { type: 'json' }.

רשומה ב-ChromeStatus.com | מפרט

קריאה נוספת

רוצה עוד? ריכזנו כאן כמה מקורות מידע נוספים.

הורדת Google Chrome

מורידים את Chrome ל-Android, ל-iOS או לiOS.