גוגל חשפה את שחרורו של דפדפן האינטרנט Chrome 105. במקביל, זמינה מהדורה יציבה של פרויקט Chromium החינמי, המשמש כבסיס לכרום. דפדפן Chrome שונה מ-Chromium בשימוש בסמלי לוגו של גוגל, בנוכחות מערכת לשליחת התראות במקרה של קריסה, מודולים להפעלת תוכן וידאו מוגן העתקה (DRM), מערכת להתקנה אוטומטית של עדכונים, מאפשרת בידוד ארגז חול לצמיתות , אספקת מפתחות ל-Google API והעברת RLZ- בעת חיפוש פרמטרים. למי שצריך עוד זמן להתעדכן, הסניף Extended Stable נתמך בנפרד, ואחריו 8 שבועות. המהדורה הבאה של Chrome 106 מתוכננת ל-27 בספטמבר.
שינויים מרכזיים ב-Chrome 105:
- התמיכה ביישומי אינטרנט מיוחדים הופסקה הייצור של Chrome Apps, והוחלפו ביישומי אינטרנט עצמאיים המבוססים על טכנולוגיית Progressive Web Apps (PWA) וממשקי API סטנדרטיים לאינטרנט. גוגל הודיעה תחילה על כוונתה לנטוש את יישומי Chrome בשנת 2016 ותכננה להפסיק לתמוך בהם עד 2018, אך אז דחתה את התוכנית הזו. ב-Chrome 105, כאשר תנסה להתקין את יישומי Chrome, תקבל אזהרה שהם לא יהיו נתמכים יותר, אך האפליקציות ימשיכו לפעול. ב-Chrome 109, היכולת להפעיל יישומי Chrome תושבת.
- סיפק בידוד נוסף עבור תהליך העיבוד, שאחראי על העיבוד. תהליך זה מבוצע כעת בקונטיינר נוסף (App Container), המיושם על מערכת בידוד ארגז החול הקיימת. אם מנוצלת פגיעות בקוד העיבוד, ההגבלות הנוספות ימנעו מהתוקף לקבל גישה לרשת על ידי מניעת גישה לשיחות מערכת הקשורות ליכולות הרשת.
- הטמיעה אחסון מאוחד משלה של תעודות שורש של רשויות האישור (Chrome Root Store). החנות החדשה עדיין לא מופעלת כברירת מחדל ועד להשלמת היישום, האישורים ימשיכו להיות מאומתים באמצעות חנות ספציפית לכל מערכת הפעלה. הפתרון הנבדק מזכיר את הגישה של מוזילה, שמקיימת חנות אישורי שורש עצמאית נפרדת עבור Firefox, המשמשת כקישור הראשון לבדיקת שרשרת אמון האישורים בעת פתיחת אתרים ב-HTTPS.
- החלו ההכנות להוצאה משימוש של ה-Web SQL API, שהוא לא תקני, לא בשימוש ברובו ודורש עיצוב מחדש כדי לעמוד בדרישות האבטחה המודרניות. Chrome 105 מונע גישה ל-Web SQL מקוד שנטען ללא שימוש ב-HTTPS, וכן מוסיף אזהרת הוצאה משימוש ל-DevTools. ה-Web SQL API מתוכנן להיות מוסר ב-2023. למפתחים הזקוקים לפונקציונליות כזו, יוכן תחליף המבוסס על WebAssembly.
- סינכרון Chrome אינו תומך עוד בסנכרון עם Chrome 73 וגרסאות קודמות.
- עבור פלטפורמות macOS и Windows מציג האישורים המובנה הופעל, והוא מחליף את קריאת הממשק שמספקת מערכת ההפעלה. בעבר, מציג המובנה שימש רק בבניות עבור Linux ומערכת ההפעלה ChromeOS.
- בגרסה לפלטפורמה Android נוספו הגדרות לניהול ממשק ה-API "נושאים וקבוצות עניין", שקודם כחלק מיוזמת ארגז החול של הפרטיות ומאפשר זיהוי של קטגוריות עניין של משתמשים והשימוש בהן במקום מעקב אחר קובצי Cookie כדי לזהות קבוצות של משתמשים בעלי תחומי עניין דומים מבלי לזהות משתמשים בודדים. הגדרות דומות נוספו לגרסה של הגרסה הקודמת. Linux, ChromeOS, macOS и Windows.
- כאשר אתה מפעיל הגנת דפדפן מתקדמת (גלישה בטוחה > הגנה משופרת), נאספת טלמטריה לגבי תוספות מותקנות, גישה ל-API וחיבורים לאתרים חיצוניים. נתונים אלה משמשים בשרתי Google כדי לזהות פעילות זדונית והפרת כללים על ידי תוספות דפדפן.
- הוצא משימוש ויחסום את השימוש בתווים שאינם ASCII בדומיינים המצוינים בכותרת Cookie ב-Chrome 106 (עבור דומיינים של IDN, הדומיינים חייבים להיות בפורמט punycode). השינוי יביא את הדפדפן להתאמה ל-RFC 6265bis ולהתנהגות המיושמת בפיירפוקס.
- הוצע API של Highlight Custom, שנועד לשנות באופן שרירותי את הסגנון של אזורי טקסט נבחרים ומאפשר לך לא להיות מוגבל על ידי הסגנון הקבוע שמספק הדפדפן עבור אזורים מודגשים (::selection, ::inactive-selection) והדגשה של שגיאות תחביר (::שגיאת איות, ::שגיאת דקדוק). הגרסה הראשונה של ה-API סיפקה תמיכה בשינוי צבעי טקסט ורקע באמצעות פסאודו-אלמנטים של צבע וצבע רקע, אך בעתיד יתווספו אפשרויות סגנון אחרות.
כדוגמה למשימות שניתן לפתור באמצעות ה-API החדש, מוזכרת הוספה ל-web frameworks המספקות כלים לעריכת טקסט, מנגנוני בחירת טקסט משלהם, הדגשה שונה לעריכה משותפת בו זמנית על ידי מספר משתמשים, חיפוש במסמכים וירטואליים. וסימון שגיאות בעת בדיקת איות. אם בעבר, יצירת הדגשה לא סטנדרטית דרשה מניפולציות מורכבות עם עץ ה-DOM, ה-Custom Highlight API מספק פעולות מוכנות להוספה והסרה של הדגשה שאינן משפיעות על מבנה ה-DOM ומחילות סגנונות ביחס לאובייקטי Range.
- נוספה שאילתת "@container" ל-CSS, המאפשרת עיצוב אלמנטים על סמך גודל אלמנט האב. "@container" דומה לשאילתות "@media", אך מוחל לא על גודל כל האזור הגלוי, אלא על גודל הבלוק (המיכל) שבו ממוקם האלמנט, מה שמאפשר לך להגדיר משלך לוגיקה של בחירת סגנון עבור אלמנטים צאצאים, ללא קשר לאיפה בדיוק בדף האלמנט ממוקם.

- נוספה Pseudo-class CSS ":has()" כדי לבדוק את נוכחותו של אלמנט צאצא באלמנט האב. לדוגמה, "p:has(span)" מקיף את האלמנטים , שבתוכו יש אלמנט .
- הוסיף את HTML Sanitizer API, המאפשר לגזור אלמנטים מהתוכן המשפיעים על תצוגה וביצוע במהלך הפלט באמצעות שיטת setHTML() . ה-API יכול להיות שימושי לניקוי נתונים חיצוניים כדי להסיר תגי HTML שניתן להשתמש בהם לביצוע התקפות XSS.
- אפשר להשתמש ב-Streams API (ReadableStream) כדי לשלוח בקשות אחזור לפני טעינת גוף התגובה, כלומר. אתה יכול להתחיל לשלוח נתונים מבלי לחכות להשלמת יצירת הדפים.
- עבור יישומי אינטרנט עצמאיים מותקנים (PWA, Progressive Web App), ניתן לשנות את עיצוב אזור כותרת החלון באמצעות רכיבי Window Controls Overlay, המרחיבים את שטח המסך של אפליקציית האינטרנט לכל החלון ו מאפשרים לתת ליישום האינטרנט מראה של יישום שולחן עבודה רגיל. אפליקציית אינטרנט יכולה לשלוט על העיבוד והעיבוד של קלט בכל החלון, למעט בלוק העל עם לחצני בקרת חלון סטנדרטיים (סגור, מזער, מקסם).

- התייצבה היכולת לגשת לתוספי Media Source מעובדים ייעודיים (בהקשר DedicatedWorker), אשר ניתן להשתמש בהם, למשל, כדי לשפר את הביצועים של השמעה מאוחסנת של נתוני מולטימדיה על ידי יצירת אובייקט MediaSource בעובד נפרד ושידור של תוצאות עבודתו ל-HTMLMediaElement בשרשור הראשי.
- בממשק ה-API של Client Hints, אשר מפותח כדי להחליף את כותרת ה-User-Agent ומאפשר החזרה סלקטיבית של נתונים אודות פרמטרים ספציפיים של דפדפן ומערכת (גרסה, פלטפורמה וכו') רק לאחר בקשה. שרת, נוספה תמיכה עבור המאפיין Sec-CH-Viewport-Heigh, המאפשר לך לקבל מידע על גובה חלון התצוגה. פורמט הסימון לציון פרמטרים של Client Hints בתג "meta" עבור משאבים חיצוניים שונה: בעבר: זה הפך ל:
- נוספה את היכולת ליצור מטפלי אירועים גלובליים של onbeforeinput (document.documentElement.onbeforeinput), שבעזרתם יישומי אינטרנט יכולים לעקוף את ההתנהגות בעת עריכת טקסט בבלוקים , ואלמנטים אחרים עם הגדרת התכונה "contenteditable", לפני שהדפדפן משנה את התוכן ואת עץ ה-DOM של האלמנט.
- היכולות של Navigation API הורחבו, מה שמאפשר ליישומי אינטרנט ליירט פעולות ניווט בחלון, ליזום מעבר ולנתח את היסטוריית הפעולות עם האפליקציה. נוספו שיטות חדשות intercept() כדי ליירט מעבר ו- scroll() כדי לגלול למיקום נתון.
- נוספה השיטה הסטטית Response.json(), המאפשרת ליצור גוף תגובה המבוסס על נתונים מסוג JSON.
- בוצעו שיפורים בכלים למפתחי אתרים. במפרק הבאגים, כאשר מופעלת נקודת עצירה, מותרת עריכת הפונקציות המובילות בערימה, מבלי להפריע להפעלת ניפוי הבאגים. חלונית ההקלטה, המאפשרת לך להקליט, להשמיע ולנתח פעולות משתמש בדף, תומך בנקודות עצירה, הפעלה שלב אחר שלב והקלטת אירועי עכבר.
מדדי LCP (Largest Contentful Paint) נוספו ללוח המחוונים של הביצועים כדי לזהות עיכובים בעת עיבוד אלמנטים גדולים (גלויים למשתמש) באזור הגלוי, כגון תמונות, סרטונים ורכיבי בלוק. בחלונית Elements, השכבות העליונות המוצגות על גבי תוכן אחר מסומנות בסמל מיוחד. WebAssembly מספקת את היכולת לטעון נתוני ניפוי באגים בפורמט DWARF.
בנוסף לחידושים ותיקוני באגים, הגרסה החדשה מבטלת 24 נקודות תורפה. רבות מהחולשות זוהו כתוצאה מבדיקות אוטומטיות באמצעות הכלים AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer ו-AFL. לא זוהו בעיות קריטיות שיאפשרו לעקוף את כל רמות ההגנה על הדפדפן ולהפעיל קוד במערכת מחוץ לסביבת ארגז החול. כחלק מהתוכנית לתשלום פרסים במזומן על גילוי פגיעויות במהדורה הנוכחית, גוגל שילמה 21 פרסים בשווי 60500 דולר (פרס אחד של 10000 דולר, פרס אחד של 9000 דולר, פרס אחד של 7500 דולר, פרס אחד של 7000 דולר, שני פרסים של 5000 דולר, ארבעה פרסים של 3000 דולר, שני פרסים $2000 ובונוס אחד של $1000). גודלם של שבעת התגמולים טרם נקבע.
מקור: OpenNet.ru


