Chrome 132 בטא

תאריך פרסום: 13 בנובמבר 2024

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

CSS

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

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

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

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

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

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

צילום כל המסכים

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

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

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

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

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

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

צילום רכיבים

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

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

תכונות ההרשאה של FedCM

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

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

FedCM Mode API ו-Use Other Account API

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

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

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

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

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

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

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

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

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

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

קונטיינרים של גלילה ניתנים למיקוד במקלדת

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

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

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

PushMessageData::bytes()

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

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

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

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

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

WebAuthn Signal API

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

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

WebGPU: שילוב של מרקמים של מספרים ממשיים (float) ב-32 ביט

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

WebGPU: חשיפת GPUAdapterInfo מ-GPUDevice

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

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

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

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

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

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

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

Document-Isolation-Policy

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

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

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

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

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

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

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

הסרה של ממשקי 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 המודרני. השימוש בהם ירד בהתמדה במהלך השנים.