גרסת בטא של Chrome 139

פורסם: 25 ביוני 2025

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

CSS

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

קיצור דרך var() ו-attr()

אם לא נעשה שימוש בחלופה, הפונקציות var() ו-attr() מחושבות בלי לחפש מחזורים בחלופה הזו. קוד ה-CSS הבא פועל, כי קיימים --green ו---blue.

--green: green;
--blue: blue;
--a: var(--green, var(--b));
--b: var(--blue, var(--a));

מאפיין CSS‏ caret-animation

ב-Chrome כבר הייתה תמיכה באנימציה של המאפיין caret-color, אבל כשהמאפיין הזה היה באנימציה, התנהגות ברירת המחדל של הסמן (מצמוץ) הפריעה לאנימציה. למאפיין caret-animation של CSS יש שני ערכים אפשריים: auto ו-�, כאשר auto מייצג את ברירת המחדל של הדפדפן (הבהוב) ו-� מייצג את האפשרות שמפתח האתר שולט באנימציה של סימן המיקום.manualmanual הנכס גם מאפשר למשתמשים להשבית את ההבהוב באמצעות גיליון סגנונות (stylesheet) של משתמש.

עיצוב פינות

כדי להפעיל עיצוב של פינות בנוסף ל-border-radius, מציינים את הצורה או את הקימור של הפינה. כך אפשר ליצור צורות כמו ריבועים עם פינות מעוגלות, חריצים וקעירות, ולהוסיף אנימציה למעבר ביניהן. מידע נוסף זמין בפוסט הזה של Amit Sheen.

המשך הפעלת מעברים כשעוברים לערך המעבר הראשוני.

כשמאפיינים שקשורים למעבר משתנים, הם אמורים להשפיע רק על מעברים חדשים. המשמעות היא שאם משנים את מאפייני המעבר, אלא אם משנים גם את המאפיינים שיש להם אנימציות מעבר פעילות, אנימציות המעבר האלה ימשיכו עם משך הזמן, ההאצה וכו' שצוינו קודם. Blink ביטל מעברים באופן שגוי כשמאפיין המעבר הוגדר כ-"none", למרות שהוא לא מבטל אותם אם משנים רק את transition-duration. התכונה הזו תגרום לכך שהמצמוץ יהיה עקבי עם webkit ו-gecko, ותאפשר למעברים פעילים להמשיך לפעול, אלא אם ערך המאפיין שלהם ישתנה ויפעיל עדכון מעבר חדש.

פונקציות CSS בהתאמה אישית

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

@function --negate(--value) {
result: calc(var(--value) * -1);
}

div {
--gap: 1em;
margin-top: --negate(var(--gap));
}

תמיכה ב-width וב-height כמאפייני הצגה ברכיבי <svg> מקוננים

יש תמיכה בהחלת width ו-height כמאפייני הצגה על רכיבי <svg> מוטמעים באמצעות תגי עיצוב של SVG ו-CSS. הגישה הכפולה הזו מספקת גמישות רבה יותר, ומאפשרת לכם לנהל ולעצב רכיבי SVG בצורה יעילה יותר בעיצובים מורכבים.

Web APIs

מניפסט של אפליקציית אינטרנט: מציינים את הזכאות לעדכון, כתובות ה-URL של הסמלים הן Cache-Control: immutable

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

שיפורים בביצועים של WebXR Depth Sensing

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

אפשרות להשתמש ביותר תווים בממשקי JavaScript DOM API

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

פקודת הפעלה request-close

אפשר לסגור רכיבי דיאלוג באמצעות מגוון מנגנונים, ולפעמים מפתחים רוצים למנוע את הסגירה. כדי להשיג את זה, תיבות הדו-שיח מפעילות אירוע ביטול. במקור, האירוע הזה הופעל רק דרך בקשת סגירה (לדוגמה, לחיצה על מקש Esc). לאחרונה נוספה פונקציית JS‏ requestClose() שמפעילה גם את אירוע הביטול. הפקודה request-close מוסיפה את היכולת החדשה הזו ל-API של פקודות להפעלת פונקציות בהצהרה.

‫WebGPU: תמיכה בטקסטורות תלת-ממדיות בפורמטים דחוסים של BC ו-ASTC

התכונות texture-compression-bc-sliced-3d ו-texture-compression-astc-sliced-3d של WebGPU מוסיפות תמיכה בטקסטורות תלת-ממדיות בפורמטים הדחוסים BC ו-ASTC, בהתאמה.

אישור תשלום מאובטח: מפתחות שקשורים לדפדפן

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

אישור תשלום מאובטח: עדכון חוויית המשתמש

עדכון של רכיבי UX לתיבת הדו-שיח של SPC ב-Android Chrome. בנוסף לשיפור חוויית המשתמש, אנחנו מוסיפים את התכונות הבאות:

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

WebGPU core-features-and-limits

התכונה core-features-and-limits מציינת שמתאם WebGPU ומכשיר תומכים בתכונות ובמגבלות העיקריות של המפרט.

תיקון אפשרי של בעיה שקשורה לעדיפות של עיגון גלילה

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

תמיכה במאפיין async באלמנטים של SVG <script>

ממשק SVGScriptElement ב-SVG 2.0 כולל את המאפיין async, בדומה למאפיין HTMLScriptElement. המאפיין הזה מאפשר להריץ סקריפטים באופן אסינכרוני, וכך לשפר את הביצועים והרספונסיביות של אפליקציות אינטרנט שמשתמשות ב-SVG.

On-device Web Speech API

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

מחיקה של window.name לניווטים בכמה אתרים שמחליפים את קבוצת ההקשרים של הגלישה

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

מדיניות ארגונית: ClearWindowNameCrossSiteBrowsing (תפסיק לפעול ב-Chrome 142).

תוספים להיקף של אפליקציות אינטרנט

נוסף שדה למניפסט של אפליקציית האינטרנט "scope_extensions", שמאפשר לאפליקציות אינטרנט להרחיב את ההיקף שלהן למקורות אחרים.

האפשרות הזו מאפשרת להציג אתרים ששולטים בכמה תת-דומיינים ודומיינים ברמה העליונה כאפליקציית אינטרנט אחת. כדי להשתמש בה, צריך לציין מקורות ולאשר את השיוך לאפליקציית האינטרנט באמצעות קובץ הגדרה של .well-known/web-app-origin-association.

זיהוי סוג MIME של JSON בהתאם למפרט

‫Chromium מזהה עכשיו את כל סוגי ה-MIME של JSON שתקפים לפי ההגדרה במפרט mimesniff של WHATWG. האיסור הזה תקף לכל סוג MIME שסוג המשנה שלו מסתיים ב-+json, בנוסף ל-application/json ו-text/json המסורתיים. השינוי הזה מבטיח שממשקי API ותכונות באינטרנט שמסתמכים על זיהוי JSON יתנהגו באופן עקבי עם התקן של פלטפורמת האינטרנט ועם דפדפנים אחרים. אחת הסיבות העיקריות לשינוי הזה היא לתקן את אופן הייבוא של מודול JSON, שבו סוגי MIME של JSON שתקפים בדרך כלל, כמו text/html+json ו-image/svg+json, לא נטענים כמודולים.

‫Private Aggregation API: דיווח מצטבר על שגיאות

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

Crash Reporting API: אפשר לציין דיווח על קריסה כדי לקבל רק דוחות קריסה

התכונה הזו מבטיחה שהמפתחים יקבלו רק דוחות על קריסות. כדי להשתמש בה, צריך לציין את נקודת הקצה שנקראת crash-reporting. כברירת מחדל, דוחות קריסה מועברים לנקודת הקצה default שמקבלת סוגים רבים אחרים של דוחות בנוסף לדוחות קריסה. מפתחים יכולים לספק כתובת URL נפרדת לנקודת הקצה המוכרת בשם crash-reporting, כדי להפנות אליה דוחות קריסה, במקום לנקודת הקצה default.

צמצום השימוש בטכניקות לזיהוי מכשירים במידע בכותרת Accept-Language

ההגבלה הזו מצמצמת את כמות המידע שמוצגת במחרוזת הערך של הכותרת Accept-Language בבקשות HTTP וב-navigator.languages. במקום לשלוח רשימה מלאה של השפות המועדפות של המשתמש בכל בקשת HTTP עם הכותרת Accept-Language. עכשיו אנחנו שולחים את השפה המועדפת ביותר של המשתמש בכותרת Accept-Language. כדי לצמצם את הסיכונים לתאימות, בהשקה הראשונית צמצמנו את המידע בכותרת ה-HTTP. בעתיד נצמצם את ה-getters של JavaScript שקשורים לכך.navigator.languages

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

כש-Chrome חוסם את הפונקציה בגלל Content Security Policy‏ (CSP), הוא מחזיר את השגיאה SecurityError מהבנאי של Worker ו-SharedWorker. הדרישה במפרט היא לבדוק את ה-CSP כחלק מהאחזור ולהפעיל אירועי שגיאה באופן אסינכרוני במקום להפעיל חריגה כשסקריפט מריץ new Worker(url) או new SharedWorker(url). השינוי הזה גורם לכך שהמפרט של Chrome תואם: לא מתרחשת שגיאה במהלך הבנייה ואירועי שגיאה מופעלים באופן אסינכרוני.

רמת האודיו של פריימים מקודדים ב-RTC

חשיפת רמת האודיו של פריים מקודד שמועבר באמצעות RTCPeerConnection ומוצג באמצעות WebRTC Encoded Transform.

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

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

Prompt API

Prompt API נועד לאינטראקציה עם מודל שפה מבוסס-AI באמצעות קלט של טקסט, תמונות ואודיו. הוא תומך במגוון תרחישי שימוש, החל מיצירת כתוביות לתמונות וביצוע חיפושים חזותיים, ועד לתמלול אודיו, סיווג אירועי סאונד, יצירת טקסט לפי הוראות ספציפיות וחילוץ מידע או תובנות מטקסט. הוא תומך בפלט מובנה שמבטיח שהתשובות יהיו בפורמט מוגדר מראש, בדרך כלל כסכימת JSON, כדי לשפר את התאימות של התשובות ולאפשר שילוב חלק עם אפליקציות במורד הזרם שדורשות פורמטים סטנדרטיים של פלט. ה-API הזה חשוף גם בתוספים ל-Chrome. גרסת המקור לניסיון הזו מיועדת לחשיפה באינטרנט.

מאפיין חסימת עיבוד של קצב פריימים מלא

אנחנו מציעים להוסיף טוקן חדש של חסימת עיבוד, full-frame-rate, למאפייני החסימה. כשהעיבוד נחסם באמצעות אסימון קצב הפריימים המלא, העיבוד יפעל בקצב פריימים נמוך יותר כדי לשריין יותר משאבים לטעינה.

מצב תאימות ל-WebGPU

התוסף מוסיף קבוצת משנה של WebGPU API עם הגבלה קלה, שמאפשרת להריץ ממשקי API ישנים יותר של גרפיקה כמו OpenGL ו-Direct3D11. אם מפתחים יפעילו את המצב הזה ויפעלו בהתאם למגבלות שלו, הם יוכלו להרחיב את טווח ההגעה של אפליקציות WebGPU שלהם למכשירים ישנים רבים שאין בהם ממשקי API מודרניים וברורים לגרפיקה, שנדרשים ל-WebGPU. באפליקציות פשוטות, השינוי היחיד שנדרש הוא לציין את "compatibility" featureLevel כשקוראים ל-requestAdapter. באפליקציות מתקדמות יותר, יכול להיות שיהיה צורך לבצע שינויים מסוימים כדי להתאים אותן להגבלות של המצב. מכיוון שמצב תאימות הוא קבוצת משנה, האפליקציות שמתקבלות הן גם אפליקציות WebGPU Core תקינות, והן יפעלו גם בסוכני משתמש שלא תומכים במצב תאימות.

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

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

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

הסרת התמיכה ב-macOS 11

‫Chrome 138 היא הגרסה האחרונה שתומכת ב-macOS 11. החל מ-Chrome 139, ‏ macOS 11 לא נתמכת כי היא לא מופיעה בחלון התמיכה של Apple. חובה להפעיל מערכת הפעלה נתמכת כדי לשמור על הבטיחות. במחשבי Mac עם macOS 11,‏ Chrome ימשיך לפעול ויציג סרגל מידע עם אזהרה, אבל לא יתעדכן יותר. אם משתמש רוצה לעדכן את Chrome, הוא צריך לעדכן את המחשב שלו לגרסה נתמכת של macOS. במקרים של התקנות חדשות של Chrome מגרסה 139 ואילך, נדרשת מערכת macOS מגרסה 12 ואילך.

הסרת הזיהוי האוטומטי של ערכת התווים ISO-2022-JP ב-HTML

יש בעיות אבטחה ידועות שקשורות לזיהוי אוטומטי של ערכת התווים ISO-2022-JP. השימוש ב-ISO-2022-JP נמוך מאוד, ו-Safari לא תומך בזיהוי אוטומטי של מערכת התווים הזו. לכן, Chrome מסיר את התמיכה בה כדי למנוע בעיות אבטחה.