תאריך פרסום: 28 במאי 2025
אלא אם צוין אחרת, השינויים הבאים חלים על הגרסה העדכנית ביותר של ערוץ הבטא של Chrome ל-Android, ל-ChromeOS, ל-Linux, ל-macOS ול-Windows. מידע נוסף על התכונות שמפורטות כאן זמין בקישורים שסופקו או ברשימה באתר ChromeStatus.com. גרסת Chrome 138 היא בטא נכון ל-28 במאי 2025. אפשר להוריד את הגרסה העדכנית ביותר בכתובת Google.com למחשב או מחנות Google Play ב-Android.
CSS וממשק משתמש
במהדורה הזו נוספו שש תכונות חדשות של CSS ושל ממשק משתמש.
מילת מפתח לבחירת גודל של CSS stretch
מילת מפתח למאפייני CSS של שינוי גודל (לדוגמה, width
ו-height
) שמאפשרת לאלמנטים לגדול כך שיתמלאו בדיוק את המרחב הזמין בבלוק שמכיל אותם. הפונקציה דומה ל-100%
, אלא שהגודל שמתקבל חל על תיבת השוליים של הרכיב במקום על התיבה שצוינה על ידי box-sizing
. השימוש במילות המפתח האלה מאפשר לאלמנט לשמור על השוליים שלו ועדיין להיות גדול ככל האפשר.
פונקציות שקשורות לחתימה ב-CSS: abs()
, sign()
הפונקציות שקשורות לסימנים, abs()
ו-sign()
, מחשבות פונקציות שונות שקשורות לסימן של הארגומנט שלהן.
משתנה סביבה של CSS לקביעת קנה מידה של גופן ברמת מערכת ההפעלה
השירות חושף ל-CSS את קנה המידה המועדף של הגופן של המשתמש. נכון לעכשיו, לא מעשי שדף יזהה אם המשתמש שינה את גודל הגופן המועדף שלו בהעדפות של מערכת ההפעלה. משתנה הסביבה הזה ב-CSS ישקף את התצוגה שנבחרה על ידי המשתמש.
CSS sibling-index()
ו-sibling-count()
אפשר להשתמש בפונקציות sibling-index()
ו-sibling-count()
כמספרים שלמים בערכי מאפייני CSS כדי להגדיר סגנון לאובייקט על סמך המיקום שלו בין אחיו או על סמך המספר הכולל של האחים, בהתאמה. אפשר להשתמש בפונקציות האלה ישירות כערכים שלמים, אבל שימושי יותר להשתמש בהן בביטויים של calc()
.
li {
animation-delay: calc(0.1s * sibling-index());
}
סימון פונקציונלי של התקדמות אינטרפולציה: פונקציית progress()
ב-CSS
הסימון הפונקציונלי progress()
הוא פונקציה מתמטית שמחזירה ערך <number>
שמייצג את המיקום של חישוב אחד (ערך ההתקדמות) בין שני חישובים אחרים (ערך ההתחלה של ההתקדמות וערך הסיום של ההתקדמות).
Viewport Segments Enumeration API
Viewport Segments API מאפשר למפתחים להתאים את הפריסה של האתר שלהם כדי לטרגט מכשירי מתקפלים. פלחים של חלון תצוגה מגדירים את המיקום והמידות של אזור נפרד מבחינה לוגית בחלון התצוגה. קטעי חלון תצוגה נוצרים כשחלון התצוגה מחולק על ידי תכונה חומרה אחת או יותר (כמו ציר או צירוף בין מסכים נפרדים) שמשמשות כמחיצה. קטעים הם האזורים בחלון התצוגה שהמפתח יכול להתייחס אליהם כאל אזורים נפרדים מבחינה לוגית.
ממשקי API של אתרים
הוספת תמיכה במטא-נתונים של כיוון של מסגרת וידאו ל-WebCodecs
הוספת הערכים rotation: int
ו-flip: bool
לממשקים שונים שקשורים לסרטונים ב-WebCodecs, כדי שמפתחים יוכלו לעבוד עם מקורות של פריימים שיש להם כיוון (לדוגמה, מצלמות Android ומדיה מסוימת). הממשק VideoFrame
מרחיב את היכולת ליצור VideoFrames עם סיבוב והיפוך שרירותיים, וגם פונקציות גישה למידע הזה באובייקט VideoFrame
. לאובייקט VideoDecoderConfig
מתווספים השדות rotation
ו-flip
, שמופקים באופן אוטומטי באובייקטים של VideoFrame שעבר פענוח. בכיתה VideoEncoder
מתווספים מנגנונים להעברת מידע על סיבוב והיפוך מ-encode()
אל VideoDecoderConfig
שנפלט כחלק מ-EncodedVideoChunkMetadata
. אם encode()
ייכלל בקריאה עם פריימים בכיוון שונה, תוצג חריגה לא קטלנית. אפשר להשתמש בשיטה configure()
כדי לאפס את הכיוון המותר.
Crash Reporting API: is_top_level
ו-visibility_state
התכונה הזו מוסיפה שדות מחרוזת is_top_level
ו-visibility_state
לגוף ה-API לדיווח על תאונות, שנשלח לנקודת הקצה שמוגדרת כברירת מחדל לדיווח על דוחות תאונות.
בריחה מ-<
ומ->
במאפיינים בסריאליזציה
הוספת תווים לבריחה (escape) ל-<
ול->
בערכים של מאפיינים במהלך יצירת רצף בייטים (serialization). כך אפשר לצמצם את הסיכון להתקפות XSS של מוטציה, שמתרחשות כשהערך של מאפיין מפורש כאסימון של תג התחלה אחרי שהוא עובר סריאליזציה וניתוח מחדש.
מדיניות תקינות לסקריפטים
Subresource-Integrity (SRI) מאפשר למפתחים לוודא שהנכסים שהם מתכוונים לטעון הם אכן הנכסים שהם טוענים. עם זאת, אין כרגע דרך למפתחים לוודא שכל הסקריפטים שלהם מאומתים באמצעות SRI.
הכותרת Integrity-Policy
מאפשרת למפתחים לאמת שצריך לבדוק את תקינות כל המשאבים מסוג נתון. אם תנסו לטעון משאב מהסוג הזה בלי מטא-נתונים של תקינות, הניסיון ייכשל ויגרום ליצירת דוח הפרה.
מכסת אחסון צפויה שמדווחת
דיווח על מכסת אחסון צפויה מ-Estimate API של StorageManager לאתרים שאין להם הרשאות אחסון בלתי מוגבלות. אפשר לזהות את מצב הגלישה של המשתמש באמצעות מכסת האחסון שדווחה, כי נפח האחסון שזמין במצב פרטי קטן בהרבה מזה שזמין במצב רגיל.
זוהי פעולה למזעור הנזק שמונעת זיהוי של מצב הגלישה של המשתמש באמצעות API האחסון, על ידי דיווח על מכסה מלאכותית ששווה ל-usage + min(10 GiB, disk rounded up to the nearest 1 GiB), בכל מצבי הגלישה לאתרים עם הרשאות אחסון מוגבלות. אתרים עם הרשאות אחסון בלתי מוגבלות לא יושפעו. גם המכסות הממומשות לא יושפעו.
אירוע pushsubscriptionchange
לאחר הרשמה מחדש
מפעילים את האירוע pushsubscriptionchange
בשירותי העבודה (service workers) כשמקבלים שוב הרשאת התראות למקור שהיה לו בעבר מינוי לדחיפה, אבל ההרשאה בוטלה בגלל שינוי הרשאה (מ'הוקצה' ל'נדחה'/'ברירת המחדל'). האירוע יופעל עם oldSubscription
ו-newSubscription
ריקים.
כללי ספקולציות: הוספת prefetchCache
ו-prerenderCache
לכותרת Clear-Site-Data
שני ערכים חדשים לכותרת Clear-Site-Data
שיעזרו למפתחים לטרגט את ניקוי המטמון של עיבוד מראש ושל אחזור מראש: prefetchCache
ו-prerenderCache
.
אפשר לשלוח אותם בכל בקשה, ולא צריך לשלוח אותם בבקשה של המסמך (לדוגמה, אפשר להחזיר אותם בתשובות להפעלות API של הוספה לעגלת הקניות, או של כניסה לחשבון ויציאה ממנו, כדי להסיר ספקולציות לגבי שינוי המצב).
כללי ספקולציות: השדה target_hint
כך אפשר להרחיב את התחביר של כללי הספקולציות כדי לאפשר למפתחים לציין את השדה target_hint
. השדה הזה מספק רמז לגבי יעד שניתן לנווט אליו, שבו יופעל בסופו של דבר דף שעבר עיבוד מראש. כשמציינים את _blank
בתור רמז, אפשר להפעיל דף שעבר עיבוד מראש לדף שניתן לנווט בו שנפתח על ידי window.open()
. אין תמיכה בשדה הזה לטעינת נתונים מראש.
מדיניות קפדנית של מקור נתונים זהה ל-Storage Access API
התאמת הסמנטיקה של Storage Access API כך שתציית באופן קפדני למדיניות של מקור זהה, מבחינת אבטחה. כלומר, שימוש ב-document.requestStorageAccess()
בפריים מצרף קובצי cookie לבקשות למקור של ה-iframe (ולא לאתר) כברירת מחדל.
Summarizer API
ממשק API ל-JavaScript ליצירת סיכומים של טקסט קלט, שמבוסס על מודל שפה מבוסס-AI. צפוי שדפדפנים ומערכות הפעלה יקבלו גישה למודל שפה. חשיפה של המודל המובנה הזה מונעת מכל אתר את הצורך להוריד מודל שפה משלו בנפח של כמה ג'יגה-בייט, או לשלוח טקסט קלט לממשקי API של צד שלישי. ב-API לסיכום במיוחד מוצג ממשק API ברמה גבוהה ליצירת ממשק עם מודל שפה, כדי לסכם את הקלט במגוון תרחישים לדוגמה, באופן שלא תלוי במודל השפה הספציפי המדובר. יש מדיניות ארגונית (GenAILocalFoundationalModelSettings
) שמאפשרת להשבית את הורדת המודל הבסיסי, וכתוצאה מכך ה-API לא יהיה זמין.
מידע נוסף זמין במאמר יצירת סיכומים תמציתיים באמצעות AI מובנה.
Language Detector API
ממשק API ל-JavaScript לזיהוי השפה שבה כתוב טקסט מסוים, עם רמות סמך. זוהי תוספת חשובה לתרגום, שמאפשרת לזהות את השפה של הטקסט, וניתן להשתמש בה בשילוב עם Translator API. לדוגמה, אפשר לקבל קלט מהמשתמש בשפה לא מוכרת, לקבוע את השפה שלו ואז לתרגם אותו לשפת יעד ספציפית. לרוב, בדפדפנים כבר יש יכולות לזיהוי שפה, אבל ה-API של JavaScript מאפשר למפתחי אתרים ליהנות מאותה יכולת, כתוספת ל-Translation API.
יש מדיניות ארגונית (GenAILocalFoundationalModelSettings
) שמאפשרת להשבית את ההורדה של המודל הבסיסי, וכתוצאה מכך ה-API הזה לא יהיה זמין.
מידע נוסף זמין במאמר זיהוי השפה שבה נעשה שימוש באמצעות AI מובנה.
Translator API
ממשק API ל-JavaScript שמספק יכולות של תרגום שפה לדפי אינטרנט.
דפדפנים מציעים יותר ויותר למשתמשים תרגום שפה, אבל יכולות תרגום כאלה יכולות להיות שימושיות גם למפתחי אינטרנט. זה נכון במיוחד במקרים שבהם יכולות התרגום המובנות של הדפדפן לא יכולות לעזור, למשל בשירותים אינטראקטיביים ובשידורים חיים. יש מדיניות ארגונית (GenAILocalFoundationalModelSettings
) שמאפשרת להשבית את הורדת המודל הבסיסי, וכך להפוך את ה-API הזה ללא זמין.
מידע נוסף זמין במאמר תרגום עם AI מובנה.
תוספי היקף לאפליקציות אינטרנט
הוספת שדה מניפסט של אפליקציית אינטרנט "scope_extensions"
שמאפשר לאפליקציות אינטרנט להרחיב את ההיקף שלהן למקורות אחרים. כך אפשר להציג אתרים ששולטים במספר תתי-דומיינים ובדומיינים ברמה העליונה כאפליקציית אינטרנט אחת. כדי לעשות זאת, מקורות שמפורטים צריכים לאשר את השיוך לאפליקציית האינטרנט באמצעות קובץ תצורה מסוג .well-known/web-app-origin-association
.
Web Serial דרך Bluetooth ב-Android
התכונה הזו מאפשרת לדפי אינטרנט ולאפליקציות אינטרנט להתחבר ליציאות טוריות דרך Bluetooth במכשירי Android. Chrome ב-Android תומך עכשיו ב-Web Serial API דרך Bluetooth RFCOMM. כללי מדיניות ארגוניים קיימים (DefaultSerialGuardSetting
, SerialAllowAllPortsForUrls
, SerialAllowUsbDevicesForUrls
, SerialAskForUrls
ו-SerialBlockedForUrls
) בפלטפורמות אחרות מופעלים במצבים future_on ב-Android. כל כללי המדיניות, מלבד SerialAllowUsbDevicesForUrls
, יופעלו אחרי הפעלת התכונה. ההגדרה SerialAllowUsbDevicesForUrls
תופעל במהלך השקה עתידית, אחרי שמערכת Android תספק תמיכה ברמת המערכת ביציאות טוריות קוויות.
הוצאה משימוש והסרות
בגרסה הזו של Chrome הוספנו את ההוצאות משימוש וההסרות הבאות. באתר ChromeStatus.com אפשר למצוא רשימות של הוצאות משימוש מתוכננות, הוצאות משימוש נוכחיות והוצאות קודמות משימוש.
בגרסה הזו של Chrome הופסקה התמיכה בשתי תכונות.
הוצאה משימוש של הסרת טווחים אסינכרונים בתוספים של מקורות מדיה
תקן Media Source השתנה לפני זמן רב כדי לא לאפשר התנהגות מוגדרת באופן לא ברור שכוללת הסרות טווחים אסינכרוניות:
SourceBuffer.abort()
לא מבטלת יותר פעולותSourceBuffer.remove()
.- לא ניתן יותר לקצר את המדיה שנשמרה במטמון באמצעות ההגדרה
MediaSource.duration
.
מעכשיו, ייזרקו חריגים בשני המקרים האלה.
הסרת החלופה של SwiftShader
האפשרות לאפשר חזרה אוטומטית ל-WebGL שמגובת על ידי מעבד התוכנה SwiftShader הוצאה משימוש, ויצירת הקשר של WebGL תיכשל במקום לעבור ל-SwiftShader. עשינו זאת משתי סיבות עיקריות:
- SwiftShader הוא סיכון אבטחה גבוה בגלל קוד JIT שפועל בתהליך ה-GPU של Chromium.
- חוויית המשתמש גרועה כשיש מעבר מ-WebGL בעל הביצועים הגבוהים שמבוסס על GPU להטמעה שמבוססת על מעבד. למשתמשים אין שליטה על ההתנהגות הזו, וקשה לתאר אותה בדוחות באגים.
במהלך תקופת ההוצאה משימוש, תוצג אזהרה במסוף כלי הפיתוח של Chrome כשיוצרים הקשר WebGL שמגובל על ידי SwiftShader. העברת הערך --enable-unsafe-swiftshader
תסיר את הודעת האזהרה הזו.