Chrome 132

תאריך השקת הגרסה היציבה: 14 בינואר 2025

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

HTML ו-DOM

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

בעבר, קריאה ל-showPopover() או ל-showModal() בחלון קופץ או בתיבת דו-שיח שנמצאים במסמך לא פעיל הייתה נכשלת ללא הודעה. לא תופיע הודעת שגיאה, אבל מכיוון שהמסמך לא פעיל, לא יוצגו חלון קופץ או תיבת דו-שיח. החל מגרסה 132 של Chrome, המצבים האלה גורמים להפעלת השגיאה InvalidStateError.

מעקב אחרי באג מס' 373684393 | רשומה ב-ChromeStatus.com | מפרט

אירועי החלפת מצב של תיבת דו-שיח

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

השינוי הזה כולל את אותו ToggleEvent שנשלח על ידי חלונות קופצים, אבל לאלמנטי <dialog>: כשמתבצעת קריאה ל-showModal או ל-show, <dialog> שולח ToggleEvent עם newState=open. כש<dialog> נסגר (באמצעות הטופס, הלחצן או closewatcher), צריך לשלוח ToggleEvent עם newState=closed.

מעקב אחרי באג מס' 41494780 | רשומה ב-ChromeStatus.com | מפרט

תיקון הבחירה isCollapsed ב-Shadow DOM

הפונקציה isCollapsed של הבחירה אמורה להחזיר את הערך true רק אם ה-anchor וה-focus זהים. התנאי הזה צריך להתקיים גם אם הבחירה מתחילה או מסתיימת בתוך עץ אור או עץ צל.

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

CSS

CSS Anchor Positioning: allow anchor-size() in inset and margin properties

במקור, האפשרות anchor-size() הייתה מותרת רק בנכסי שינוי גודל. המפרט השתנה כדי לאפשר שימוש ב-anchor-size() גם בהוספות ובשוליים.

מעקב אחרי באג מס' 346521300 | רשומה ב-ChromeStatus.com | מפרט

מצבי כתיבה ב-CSS לרוחב

תמיכה במילות המפתח sideways-rl ו-sideways-lr למאפיין ה-CSS writing-mode. sideways-rl ו-sideways-lr מאפשרים לכתוב טקסט שאינו CJK בפורמט אנכי. בניגוד ל-vertical-rl ול-vertical-lr, אין להם התנהגויות שמתאימות לשפות CJK.

MDN writing-mode | מעקב אחרי באג מס' 40501131 | רשומה ב-ChromeStatus.com | מפרט

בטעינה

אחזור: Request.bytes() ו-Response.bytes()

מוסיפים שיטה bytes() לממשקי Request ו-Response, שמחזירה הבטחה שמתקבלת עם Uint8Array. ל-Request ול-Response יש שיטה arrayBuffer(), אבל אי אפשר לקרוא ישירות מהמאגר. כדי לקרוא אותו, צריך ליצור תצוגה כמו Uint8Array. השיטה bytes() משפרת את הארגונומיה של אחזור גוף הבקשה והתגובה.

מעקב אחרי באג מס' 340206277 | רשומה ב-ChromeStatus.com | מפרט

התעלמות מ-Strict-Transport-Security עבור localhost

כותרות התגובה Strict-Transport-Security (STS) עלולות לגרום לבעיות בשרתי אינטרנט של localhost, כי STS חל ברמת המארח בכל היציאות. כתוצאה מכך, מפתחי אתרים נתקלים בבעיות תאימות בזמן הבדיקה המקומית. היא משפיעה גם על משתמשי קצה שמשתמשים בחבילות תוכנה שמתחילות בדרך כלל שרתי אינטרנט של localhost מסיבות זמניות. לדוגמה, העברת אסימון אימות מהתחברות לאינטרנט לחבילת תוכנה מקומית. אם מאזין מקומי אחד מגדיר את Strict-Transport-Security בתגובה של localhost, הוא יחול על כל הבקשות הבאות של localhost, ללא קשר לשקע.

ב-Chrome 132 הבעיה הזו נפתרה על ידי התעלמות מהכותרות Strict-Transport-Security בתשובות מכתובות URL של localhost.

מעקב אחרי באג מס' 41251622 | הרשומה ב-ChromeStatus.com

מדיה

לכידת כל המסכים

מצלמים את כל המסכים שמחוברים למכשיר באמצעות getAllScreensMedia().

קריאה ל-getDisplayMedia() כמה פעמים מחייבת כמה תנועות של המשתמש, מעמיסה על המשתמש בבחירת המסך הבא בכל פעם ולא מבטיחה לאפליקציה שכל המסכים נבחרו. השיטה getAllScreensMedia() משפרת את כל הבעיות האלה.

התכונה הזו זמינה רק במחשב.

מסמך עיצוב | מעקב אחרי באג מס' 40216442 | רשומה ב-ChromeStatus.com | מפרט

תיעוד רכיבים

בהינתן סרטון MediaStreamTrack שהתקבל באמצעות אמצעים קיימים להתחלת צילום כרטיסיות, Element Capture מאפשר לשנות את הטראק כך שיצלם רק עץ משנה של DOM, החל מאובייקט נתון.

ה-API דומה במקצת ל-Region Capture API, אבל הוא מספק גמישות רבה יותר לאפליקציות, כי תוכן שחוסם את התמונה ותוכן שנחסם על ידו לא נכללים בצילום.

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

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

PushMessageData::bytes()

הממשק PushMessageData מחקה את הממשק Body, ששופר מוקדם יותר השנה עם שיטת bytes() חדשה, בהתאם לעיקרון שלפיו בדרך כלל צריך למכור מאגרי בייטים ב-API כ-Uint8Arrays. בגרסה 132 של Chrome, המערכת מתאימה את עצמה לממשק Body על ידי הוספת ה-accessor bytes() גם לממשק PushMessageData.

MDN PushMessageData: bytes() method | Tracking bug #373336950 | ChromeStatus.com entry | Spec

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

ההשקה של התכונה הזו (מ-Chrome 130) הופסקה בגלל נסיגה בנושא נגישות. הבעיה תוקנה והתכונה ממשיכה להשיק בגרסה 132 של Chrome.

סרגלות גלילה שניתן להתמקד בהם במקלדת | מעקב אחרי באג מס' 40113891 | רשומה ב-ChromeStatus.com | מפרט

Device Posture API

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

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

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

Git Repo | מעקב אחרי באג מס' 40124716 | הרשומה ב-ChromeStatus.com | מפרט

שאילתות שמורות ב-sharedStorage.selectURL

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

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

תו Wildcard שמוגדר כברירת מחדל ברשימת ההיתרים של מדיניות ההרשאות של Private State Tokens API

הגישה ל-Private State Token API מוגבלת על ידי תכונות של מדיניות ההרשאות. ב-Chrome 132 מתעדכנת רשימת ההיתרים שמוגדרת כברירת מחדל גם לפיצ'ר private-state-token-issuance וגם לפיצ'ר private-state-token-redemption, מ-self ל-* (תו כללי).

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

FedCM Mode API ו-Use Other Account API

שני תוספים חדשים ל-FedCM:

  • Mode: המצב active מאפשר לאתרים להפעיל את FedCM בתוך לחיצה על לחצן (לדוגמה, לחיצה על הלחצן כניסה ל-IdP). כדי לעשות זאת, FedCM צריך להבטיח שהוא תמיד יגיב עם ממשק משתמש גלוי. קריאה ל-FedCM API במצב פעיל מובילה את המשתמשים להתחברות לספק הזהויות (IdP) כשהם לא מחוברים לחשבון. בנוסף, מכיוון שהמצב הפעיל מופעל במסגרת תנועת משתמש מפורשת, ממשק המשתמש בולט יותר (למשל, ממורכז ומופיע בחלון מולטימודלי) בהשוואה לממשק המשתמש במצב הפסיבי (שבו לא נדרשת תנועת משתמש, וניתן להפעיל אותו בזמן טעינת הדף).
  • שימוש בחשבון אחר: באמצעות התוסף הזה, ספק IdP יכול לאפשר למשתמשים להיכנס לחשבונות אחרים.

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

גישה למערכת קבצים ב-Android וב-WebView

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

גישה למערכת הקבצים הושקתה במחשב ב-Chrome 86, וב-Chrome 132 היא זמינה ב-Android וב-WebView.

File System Access API | מעקב אחרי באג מס' 40091667 | הרשומה ב-ChromeStatus.com | מפרט

WebAuthn Signal API

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

מידע נוסף על Signal API למפתחות גישה במחשב עם Chrome

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

רינדור וגרפיקה

WebGPU: שילוב של טקסטורות של 32 סיביות

התכונה float32-blendable GPU מאפשרת למזג טקסטורות של GPU בפורמטים r32float,‏ rg32float ו-rgba32float.

מעקב אחרי באג מס' 369649348 | הרשומה ב-ChromeStatus.com | מפרט

WebGPU: חשיפת GPUAdapterInfo מ-GPUDevice

המאפיין adapterInfo של GPUDevice חושף את אותו GPUAdapterInfo כמו באובייקט GPUAdapter.

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

WebGPU: שימוש בתצוגת טקסטורה

הוספת שדה אופציונלי ליצירת תצוגת טקסטורה של WebGPU כדי לבקש קבוצת משנה של דגלי השימוש מטקסטורת המקור.

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

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

מעקב אחרי באג מס' 363903526 | רשומה ב-ChromeStatus.com | מפרט

תקופות ניסיון למקורות

רמזים מפורשים ל-compile באמצעות תגובות קסם

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

גרסת הטרום ל-Origin | הסבר | באג מעקב מס' 42203853 | הערך ב-ChromeStatus.com

Document-Isolation-Policy

Document-Isolation-Policy מאפשר למסמך להפעיל את crossOriginIsolation בעצמו, בלי צורך לפרוס את COOP או COEP, וללא קשר לסטטוס crossOriginIsolation של הדף. המדיניות מבוססת על בידוד תהליכים. בנוסף, משאבי המשנה של המסמך שלא עוברים CORS בין מקורות ייטענו ללא פרטי כניסה, או שיהיה להם כותרת CORP.

גרסת טרום-השקה | באג מעקב מס' 333029146 | רשומה ב-ChromeStatus.com | מפרט

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

navigator.storage הפך ל-EventTarget עבור האירוע Storage Pressure Event, שלא עבר את שלב אב הטיפוס. הקוד הלא פעיל הזה יוסר, וכתוצאה מכך navigator.storage לא ירחיב יותר את EventTarget.

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

הסרה של ממשקי API קבועים מראש HTMLVideoElement במסך מלא

ממשקי ה-API קבועים מראש למסך מלא עם הסיומת HTMLVideoElement הוצאו משימוש ב-Chrome.

הם הוחלפו ב-Element.requestFullscreen() API, ששוחרר לראשונה ללא קידומת ב-Chrome 71, בשנת 2018. החל משנת 2024, רוב הדפדפנים תומכים בממשקי ה-API ללא הקידומת כבר כמה שנים.

ב-Chrome 132 הוסרו מהתג HTMLVideoElement:

  • המאפיין webkitSupportsFullscreen.
  • המאפיין webkitDisplayingFullscreen.
  • השיטה webkitEnterFullscreen().
  • השיטה webkitExitFullscreen(). שימו לב לשינוי באותיות הרישיות של ה-S ב-FullScreen.
  • השיטה webkitEnterFullScreen().
  • השיטה webkitExitFullScreen().

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

הרשומה ב-ChromeStatus.com

קריאה נוספת

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

הורדת Google Chrome

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