תאריך פרסום: 3 באפריל 2025
אלא אם צוין אחרת, השינויים הבאים חלים על הגרסה העדכנית ביותר של ערוץ הבטא של Chrome ל-Android, ל-ChromeOS, ל-Linux, ל-macOS ול-Windows. מידע נוסף על התכונות שמפורטות כאן זמין בקישורים שסופקו או ברשימה באתר ChromeStatus.com. Chrome 136 הוא גרסה בטא נכון ל-3 באפריל 2025. אפשר להוריד את הגרסה העדכנית ביותר באתר Google.com למחשב או בחנות Google Play ל-Android.
CSS וממשק משתמש
במהדורה הזו נוספו שש תכונות חדשות של CSS ושל ממשק משתמש.
מאפיין dynamic-range-limit
של CSS
מאפשרת להגביל בדף את הבהירות המקסימלית של תוכן HDR.
התעלמות מריווח בין אותיות בסקריפטים בכתב יד
התכונה הזו מוסיפה לוגיקה שמאפשרת להתעלם מההגדרה של letter-spacing לגופנים בכתב יד, גם אם המפתח ציין אותה בהתאם למפרט, כדי להבטיח שהרווחים בין האותיות לא יפרקו מילים.
חלוקת היסטוריית הקישורים של :visited
למחיצות
כדי למנוע דליפות של היסטוריית הגלישה של המשתמשים, רכיבי העוגן מקבלים את הסגנון :visited
רק אם בוצע עליהם קליק מהאתר ברמה העליונה וממקור המסגרת הזה בעבר.
העובדה שאנחנו מעצבים רק קישורים שעליהם לחצו באתר ובמסגרת האלה בעבר, מובילה לכך שהרבה מההתקפות בערוץ הצדדי שפותחו כדי לקבל מידע על עיצוב הקישורים של :visited
לא רלוונטיות יותר. הם כבר לא מספקים לאתרים מידע חדש על משתמשים.
מידע נוסף על השיפורים האלה בפרטיות של קישורים מסוג :visited
שינוי השם של סוג string
attr()
ל-raw-string
קבוצת העבודה בנושא CSS החליטה להחליף את סוג string
attr()
ב-raw-string
.
לכן, אופן הכתיבה של attr()
השתנה ב-Chrome, כך ש-attr(data-foo string)
יהיה עכשיו attr(data-foo raw-string)
.
חלופה ל-var()
ללא תלות בסוג
החלק החלופי של פונקציית var()
לא מאמת את הסוג של המאפיין המותאם אישית שאליו מתייחסים.
print-color-adjust
ללא קידומת
בעזרת המאפיין print-color-adjust
אפשר לשנות את הצבעים בדפי אינטרנט שמודפסים. זהו אותו -webkit-print-color-adjust
שכבר נתמך ב-Chrome, אבל עם שם סטנדרטי. הגרסה עם הקידומת -webkit
לא תוסר.
ממשקי API של אתרים
מצב מושעה של AudioContext
הוספת המצב "interrupted"
ל-AudioContextState
. המצב החדש הזה מאפשר ל-UA להשהות את ההפעלה בתרחישים האלה ולאפשר לאפליקציות אינטרנט להגיב בהתאם.
חלוקה למחיצות של כתובות URL מסוג Blob: אחזור/ניווט
בהמשך לחלוקת האחסון למחיצות, האפשרות הזו מטמיעה חלוקה למחיצות של הגישה לכתובות URL של Blob לפי מפתח האחסון (אתר ברמה העליונה, מקור המסגרת והערך הבוליאני has-cross-site-ancestor), מלבד ניווטים ברמה העליונה, שחלוקתם למחיצות תישאר רק לפי מקור המסגרת. ההתנהגות הזו דומה להתנהגות שמוטמעת כרגע ב-Firefox וב-Safari, והיא תואמת את השימוש בכתובות URL של Blob לתוכנית המחיצות שמשמשת ממשקי API אחרים של אחסון במסגרת מחיצות האחסון.
בנוסף, עכשיו noopener
נאכף במעברים ברמה העליונה שמתחילים במעבד גרפיקה לכתובות URL של Blob, שבהם האתר התואם הוא אתר אחר מאשר האתר ברמה העליונה שמבצע את המעבר. כך Chrome יתנהג כמו Safari, והמפרטים הרלוונטיים עודכנו כך שישקפו את השינויים האלה.
סטאקים של קריאות בדוחות קריסה מדפי אינטרנט שלא מגיבים
התכונה הזו מתעדת את סטאק הקריאות של JavaScript כשדף אינטרנט מפסיק להגיב בגלל קוד JavaScript שמריץ לולאה אינסופית או חישוב ארוך מאוד אחר. כך המפתחים יכולים לזהות את הסיבה לכך שהמכשיר לא מגיב. סטאק הקריאות של JavaScript נכלל ב-API לדיווח על קריסות כשהסיבה היא חוסר תגובה.
Captured Surface Control API
Captured Surface Control API מאפשר לאפליקציות אינטרנט להעביר אירועי גלגל לכרטיסייה שצולמה, ולקרוא ולשנות את רמת הזום של כרטיסייה שצולמה.
CapturedSurfaceResolution
חושף את יחס הפיקסלים של המשטח שמצולם במהלך שיתוף המסך. התכונה הזו תעזור לאפליקציות לחסוך במשאבי המערכת או להתאים את איכות הווידאו לרוחב הפס בהתאם לרזולוציות הפיזית והלוגית של פני השטח שצולמו.
שליחת אירועי קליקים למצביע שנלכד
אם מאתרים אירוע בזמן שליחת האירוע pointerup
, האירוע click
יישלח ליעד שזוהה במקום לקודם האב הקרוב ביותר של אירועי pointerdown
ו-pointerup
, בהתאם למפרט האירועים של ממשק המשתמש. לגבי אירועים שלא זוהו, היעד של click
לא ישתנה.
רמזים מפורשים ל-compile באמצעות תגובות קסם
מאפשר לצרף מידע על הפונקציות שצריך לנתח ולקמפל באופן מיידי בקובצי JavaScript. המידע יקודד כתגובות קסם.
עדכונים ב-FedCM: תמיכה במספר ספקי IdP, הסרה של התכונה 'הוספת חשבון נוסף' במצב פסיבי
בעקבות העדכון הזה, FedCM יכול להציג כמה ספקי זהויות באותו תיבת דו-שיח.
כך המפתחים יכולים להציג למשתמשים את כל ספקי הזהויות הנתמכים בצורה נוחה. אנחנו מתכננים לטפל קודם בבעיה הפשוטה של הכנסת כל הספקים לאותה שיחת get()
. בנוסף, אנחנו מסירים את התמיכה בתכונה 'הוספת חשבון' במצב הפסיבי של FedCM. התכונה הזו מאפשרת להציג בבורר את הלחצן 'שימוש בחשבון אחר' לצד חשבונות IdP אחרים. התכונה הזו לא בשימוש כרגע, ושיחות בנושא חוויית המשתמש הובילו אותנו להאמין שהתמיכה בה תוביל לתהליך מורכב יותר ללא הרבה תועלת. התכונה הזו תמשיך לפעול במצב פעיל של FedCM.
סרגלי גלילה חלקים.
התכונה הזו מעדכנת את סרגל הגלילה של Chrome (גם שכבת-על וגם ללא שכבת-על) ב-Windows וב-Linux כך שיתאים לשפת העיצוב של Windows 11. סרגליות גלילה של Fluent שלא מוצגות כשכבת-על יופעלו כברירת מחדל ב-Linux וב-Windows. השינוי הזה חל גם על Linux, כי עיצוב פס ההזזה של Chrome ב-Linux תמיד היה תואם לעיצוב ב-Windows.
תמיכה בקודק H265 (HEVC) ב-WebRTC
החל מ-Chrome 136, HEVC יצטרף ל-VP8, H.264, VP9 ו-AV1 כקודקים נתמכים ב-WebRTC. אפשר יהיה לשלוח שאילתות לתמיכה באמצעות MediaCapabilities API.
לקודק החדש הזה יש יעילות דחיסה משופרת (איכות גבוהה יותר לכל ביט/שנייה) בהשוואה לקודקים מדור קודם כמו VP8 ו-H264, ותמיכה חזקה מאוד בחומרה שנמשכת כבר יותר מעשור. התוצאה היא חיי סוללה ארוכים יותר וסיכון מופחת לבעיות בביצועים. בנוסף, בהתאם לביצועים של מקודד החומרה הבסיסי, בדרך כלל חוויית הצפייה משתפרת במקרים שבהם מקודדי VP9 או AV1 לחומרה לא זמינים.
עדכונים לגבי תמיכה בקודק H26x ב-MediaRecorder
MediaRecorder API תומך עכשיו בקידוד HEVC, עם מחרוזת הקודק hvc1.*
, ומוסיף קודיקים חדשים (hev1.*
ו-avc3.*
) שתומכים בסרטונים ברזולוציה משתנה בפורמט MP4. תמיכה בקידוד פלטפורמה של HEVC נוספה ל-WebCodecs ב-Chrome 130. בהמשך לכך, הוספנו תמיכה ב-MediaRecorder API ב-Chromium. ממשק ה-API תומך עכשיו גם בסוגים של מערבלים מסוג MP4 וגם בסוגים של מערבלים מסוג Matroska עם מפרט שונה של סוגי mime של HEVC ו-H.264. קידוד HEVC נתמך רק אם המכשיר ומערכת ההפעלה של המשתמש מספקים את היכולות הנדרשות.
רישום ביומן של כתובות IP ודיווח עליהן ב-Chrome Enterprise
כדי לשפר את יכולות המעקב אחר אבטחה ואת התגובה לתקריות, אנחנו ב-Chrome Enterprise אוספים כתובות IP מקומיות ומרחוקות ומדווחים עליהן, ושולח אותן ליומני החקירה של האבטחה (SIT). בנוסף, ב-Chrome Enterprise האדמינים יוכלו לשלוח את כתובות ה-IP לספקי SIEM של צד ראשון ושל צד שלישי באמצעות המחבר לדיווח של Chrome Enterprise. האפשרות הזו תהיה זמינה ללקוחות Chrome Enterprise Core.
שילוב של מפעיל הניווט במפתח המחיצה של מטמון ה-HTTP
סכמת המפתחות של זיכרון המטמון של HTTP ב-Chrome עודכנה כך שתכלול את הערך הבוליאני is-cross-site-main-frame-navigation
כדי לצמצם את היקף ההתקפות על דליפות בין אתרים שכוללות ניווט ברמה העליונה. באופן ספציפי, המנגנון הזה ימנע התקפות חוצות-אתרים שבהן תוקף יכול להתחיל ניווט ברמה העליונה לדף נתון, ואז לנווט למשאב שידוע שהוא נטען על ידי הדף כדי להסיק מידע רגיש מהתזמון של הטעינה. השינוי הזה גם משפר את הפרטיות, כי הוא מונע מאתר זדוני להשתמש בניווטים כדי להסיק אם משתמש ביקר באתר מסוים בעבר.
שפות התמיכה ב-CanvasTextDrawingStyles
רכיב ה-DOM <canvas>
, כמו כל רכיבי ה-DOM, מקבל מאפיין lang
שמשמש להגדרת טיפול ספציפי לשפה לבחירת גופן (כשלגופנים יש גליפים ספציפיים לאזור גיאוגרפי). הדפדפנים מכבדים את המאפיין הזה. עם זאת, כשנוצר OffscreenCanvas אין דרך להגדיר את פרטי האזור, וכתוצאה מכך יכול להיות מצב שבו בדף OffscreenCanvas יתקבלו תוצאות עיבוד שונות מהדף שבו נעשה שימוש בפלט שלו. התכונה הזו מוסיפה מאפיין IDL מסוג lang
ל-CanvasTextDrawingStyles
כדי לתת שליטה ישירה בשפה של ציור הטקסט והמדדים.
דוחות של מדיניות ההרשאות לגבי iframe
הוספת סוג חדש של הפרה שנקרא 'הפרה פוטנציאלית של מדיניות ההרשאות', שמתבצעת על סמך מדיניות ההרשאות (כולל מדיניות של דיווח בלבד) והמאפיין allow
שמוגדר ב-iframes, כדי לזהות את העימות בין מדיניות ההרשאות שחלה לבין ההרשאות שמועברות ל-iframes.
מכסת אחסון צפויה שמדווחת
דיווח על מכסת אחסון צפויה מ-Estimate API של StorageManager לאתרים שאין להם הרשאות אחסון בלתי מוגבלות. אפשר לזהות את מצב הגלישה של המשתמש באמצעות מכסת האחסון שדווחה, כי נפח האחסון שזמין במצב פרטי קטן בהרבה מזה שזמין במצב רגיל.
Private Aggregation API: דיווח על שגיאות מצטברות
יש מגוון מצבי שגיאה שעשויים להתרחש במהלך השימוש ב-Private Aggregation API. לדוגמה, יכול להיות שתקציב הפרטיות ינוצל במלואו, ולא תהיה אפשרות להוסיף עוד נתונים לתרשים ההיסטוגרמה. התכונה הזו מאפשרת למפתחים לרשום תרומות לתרשים ה-histogram, שצריך לשלוח רק אם מתרחשת שגיאה מסוג מסוים. התכונה הזו תומכת במדידת התדירות של תנאי השגיאה, ובהפרדת המדידות האלה לפי מאפיינים רלוונטיים שצוינו על ידי המפתחים (לדוגמה, גרסת הקוד שנפרס). מאחר שהשגיאות עצמן עשויות להכיל מידע ממספר אתרים, אנחנו לא יכולים פשוט לחשוף אותן בדף למשתמשים ללא קובצי cookie של צד שלישי. במקום זאת, התכונה הזו משתמשת שוב בצינורות הדיווח הקיימים עם הרעשי הרקע המצטברים דרך Aggregation Service.
RegExp.escape
RegExp.escape
היא שיטה סטטית שמקבלת מחרוזת ומחזירה גרסה עם תווי בריחה שאפשר להשתמש בה כתבנית בתוך ביטוי רגולרי. לדוגמה:
const str = prompt("Please enter a string");
const escaped = RegExp.escape(str);
const re = new RegExp(escaped, 'g'); // handles reg exp special tokens with the replacement.
console.log(ourLongText.replace(re));
כללי ספקולציות: שדה התג
מאפשר למפתחים להוסיף את התג field
לכללי ספקולציות. אפשר להשתמש בשדה האופציונלי הזה כדי לעקוב אחרי המקור של כללי השערות. לדוגמה, כדי לטפל בהם באופן שונה בשרת ביניים. כל התגים שמשויכים להשערה יישלח עם הכותרת Sec-Speculation-Tags
.
מדיניות קפדנית של מקור נתונים זהה ל-Storage Access API
התאמת הסמנטיקה של Storage Access API כך שתציית באופן קפדני למדיניות של מקור זהה. כלומר, שימוש ב-document.requestStorageAccess()
בפריים מצרף קובצי cookie לבקשות למקור של ה-iframe (ולא לאתר) כברירת מחדל. חשוב לזכור שעדיין אפשר להשתמש במדיניות CookiesAllowedForUrls
או בכותרות הגישה לאחסון כדי לבטל את החסימה של קובצי cookie בכמה אתרים.
יש לעדכן את ProgressEvent
כך שיהיה בו סוג כפול עבור loaded
ו-total
ל-ProgressEvent
יש את המאפיינים loaded
ו-total
שמציינים את ההתקדמות, והסוג שלהם הוא עכשיו unsigned long long
. התכונה הזו מאפשרת לשנות את הסוג של שני המאפיינים האלה ל-double
, וכך לתת למפתח יותר שליטה בערך. לדוגמה, המפתחים יכולים עכשיו ליצור ProgressEvent עם הערך total
של 1 והערך loaded
שגדל בהדרגה מ-0 ל-1. ההתנהגות הזו תואמת לברירת המחדל של רכיב ה-HTML <progress>
אם המאפיין max לא מופיע.
שימוש ב-DOMPointInit
עבור getCharNumAtPosition
, isPointInFill
, isPointInStroke
השינוי הזה מביא את קוד Chromium בהתאם למפרט W3C העדכני ביותר עבור SVGGeometryElement
ו-SVGPathElement
מבחינת השימוש ב-DOMPointInit
במקום ב-SVGPoint
עבור getCharNumAtPosition
, isPointInFill
, isPointInStroke
.
יצירה מותנית של Web Authentication (שדרוגים של מפתחות גישה)
בקשות יצירת תנאי של WebAuthn מאפשרות לאתרים לשדרג פרטי כניסה קיימים מסיסמה למפתח גישה.
WebGPU: מאפיין GPUAdapterInfo
isFallbackAdapter
המאפיין הבוליאני GPUAdapterInfo
isFallbackAdapter
מציין אם למתאם יש מגבלות משמעותיות בביצועים בתמורה לתאימות רחבה יותר, להתנהגות צפויה יותר או לשיפור הפרטיות. חשוב לזכור שיכול להיות שלא תהיה אפשרות להשתמש במתאם חלופי בכל המערכות.
גרסאות מקור חדשות לניסיון
ב-Chrome 136 אפשר להביע הסכמה לגרסאות המקור לניסיון החדשות הבאות.
Audio Output Devices API: setDefaultSinkId()
התכונה הזו מוסיפה את setDefaultSinkId()
ל-MediaDevices, ומאפשרת לפריים ברמה העליונה לשנות את המכשיר להשמעת האודיו שמוגדר כברירת מחדל בפריימים המשניים שלו.
איך אפליקציות אינטרנט יכולות להבין תזמונים של ביצועים במודל דו-מצבי
יכול להיות שבאפליקציות אינטרנט תהיה חלוקה דו-מוקדית בביצועי טעינת הדפים, בגלל גורמים שלא בשליטת אפליקציית האינטרנט. לדוגמה:
- כשסוכן משתמש מופעל בפעם הראשונה (תרחיש 'הפעלה קרה'), הוא צריך לבצע משימות רבות וממושכות של אתחול, שמתחרות על המשאבים במערכת.
- תוספים לדפדפן יכולים להשפיע על הביצועים של אתר. לדוגמה, תוספים מסוימים מפעילים קוד נוסף בכל דף שבו אתם מבקרים, מה שעלול להגדיל את השימוש במעבד ולגרום לזמני תגובה איטיים יותר.
- כשהמכונה עסוקה בביצוע משימות אינטנסיביות, יכול להיות שהטעינה של דפי האינטרנט תהיה איטית יותר.
בתרחישים האלה, התוכן שאפליקציית האינטרנט מנסה לטעון יתחרה בעבודות אחרות שמתבצעות במערכת. לכן קשה לזהות אם בעיות הביצועים נובעות מאפליקציות האינטרנט עצמן או מגורמים חיצוניים.
שדה confidence
חדש באובייקט PerformanceNavigationTiming
יאפשר למפתחים להבין אם זמני הניווט מייצגים את אפליקציית האינטרנט שלהם.
פרטי כניסה לסשן לפי מכשיר
דרך לאתרים לקשר סשן למכשיר יחיד באופן מאובטח.
היא מאפשרת לשרתים ליצור סשן שמקושר באופן מאובטח למכשיר. הדפדפן יחדש את הסשן מדי פעם, לפי הבקשה מהשרת, עם הוכחה לבעלות על מפתח פרטי.
עדכון ההטמעה של עיבוד טקסט בקנבס
החלקים הפנימיים של measureText()
, fillText()
ו-strokeText()
ב-CanvasRenderingContext2D וב-OffscreenCanvasRenderingContext2D הוחלפו בהטמעה חדשה שתומכת טוב יותר בטקסט RTL ובאחסון במטמון. הדבר עשוי להשפיע על הביצועים ועל הפלט של טקסט BIDI, ולכן תקופת הניסיון הזו מאפשרת לאפליקציות בדף הבית עם הרבה טקסט לנסות את ההטמעה החדשה ולדווח על בעיות שייתקל בהן.
הוצאה משימוש והסרות
בגרסה הזו של Chrome הוספנו את ההוצאות משימוש וההסרות הבאות. באתר ChromeStatus.com אפשר למצוא רשימות של הוצאות משימוש מתוכננות, הוצאות משימוש נוכחיות והוצאות קודמות משימוש.
בגרסה הזו של Chrome הופסקה התמיכה בשתי תכונות.
הוצאה משימוש של פונקציות getter של Intl Locale Info
Intl Locale Info API הוא הצעה של ECMAScript TC39 בשלב 3 לשיפור האובייקט Intl.Locale
על ידי חשיפת מידע על Locale, כמו נתוני שבוע (היום הראשון בשבוע, היום שבו מתחיל סוף השבוע, היום שבו מסתיים סוף השבוע, היום המינימלי בשבוע הראשון) ומחזור השעות של כיוון הטקסט שמשמש את האזור הגיאוגרפי. השינוי הזה מסיר פונקציות getter מסוימות שהוצאו משימוש בגלל שינוי במפרט מאז שהן הושקו.
מסירים את HTMLFencedFrameElement.canLoadOpaqueURL()
.
canLoadOpaqueURL()
הוחלף ב-navigator.canLoadAdAuctionFencedFrame()
בשנת 2023, והפעלה שלו גרמה לאזהרה במסוף על הוצאה משימוש, תוך הפניית המפתחים ל-API החדש. אין טעם לצרף את הפונקציה ל-HTMLFencedFrameElement
, אלא צריך לצרף אותה לאובייקט navigator
(שמכיל שיטות אחרות של מכרזים של מודעות ומסגרות מגודרות).