כמעט בכל גרסה של Chrome אנחנו מוסיפים מספר רב של עדכונים ושיפורים למוצר, לביצועים שלו וליכולות של פלטפורמת האינטרנט. במאמר הזה מתוארים ההוצאות משימוש וההסרות ב-Chrome 58, שנמצא בגרסה בטא נכון ל-16 במרץ. הרשימה הזו עשויה להשתנות בכל שלב.
עכבר ב-Android מפסיק להפעיל אירועי TouchEvents
עד לגרסה 57 של Chrome, אירועי עכבר ברמה נמוכה ב-Android ב-Chrome עקבו בעיקר אחרי נתיב אירועים שתוכנן לאינטראקציות מגע. לדוגמה, תנועת גרירה של עכבר שמתרחשת בזמן שלחיצה על לחצן העכבר יוצרת את האירוע MotionEvents
, שנשלח דרך View.onTouchEvent
.
אבל מכיוון שאירועי מגע לא יכולים לתמוך בהחזקה, תנועות העכבר בהחזקה עברו דרך נפרדת. לתכנון היו הרבה תופעות לוואי, כולל הפעלת TouchEvents
כתוצאה מאינטראקציות עם העכבר, כל לחצני העכבר מופיעים כלחצני שמאל בעכבר ו-MouseEvents
מושתק על ידי TouchEvents
.
החל מגרסה 58 של Chrome, בעזרת עכבר ב-Android מגרסה M ואילך תוכלו:
- הפונקציה
TouchEvents
לא מופעלת יותר. - הפעלת רצף עקבי של
MouseEvents
באמצעות לחצנים מתאימים ומאפיינים אחרים.
כוונה להסרה | מעקב אחר סטטוס Chrome | באג ב-Chromium
הסרת התאמה ללא תלות ברישיות למאפיין usemap
בעבר, המאפיין usemap
הוגדר ללא קשר לאותיות רישיות. לצערנו, ההטמעה הייתה מורכבת מספיק כך שאף דפדפן לא הטמיע אותה בצורה נכונה. מחקרים הראו שאין צורך באלגוריתמים מורכבים כאלה, ואפילו אין צורך בהתאמה של ASCII ללא קשר לאותיות רישיות.
כתוצאה מכך, המפרט עודכן כך שתתבצע התאמה תלוית אותיות רישיות. ההתנהגות הישנה הוצאה משימוש ב-Chrome 57 והיא הוסרה עכשיו.
כוונה להסרה | מעקב אחר סטטוס Chrome | באג ב-Chromium
הסרת ניווטים בפריים העליון שמתחילים בתוכן לכתובות URL של נתונים
בגלל שהם לא מוכרים למשתמשים לא טכניים בדפדפנים, אנחנו רואים יותר ויותר שימוש בתוכנית data:
בהתקפות זיופים ופישינג. כדי למנוע זאת, אנחנו חוסמים את הטעינה של כתובות URL מסוג data:
בדפי אינטרנט שבמסגרת העליונה. הכלל הזה חל על תגי <a>
, window.open
, window.location
ומנגנונים דומים. הסכימה data:
עדיין תפעל למשאבים שנטענים מתחת לדף.
התכונה הזו תוסר ב-Chrome 60.
כוונה להסרה | מעקב אחר סטטוס Chrome | באג ב-Chromium
הסרת שמות שהוצאו משימוש של מאפייני נתיב תנועה
מאפייני CSS של נתיב תנועה מאפשרים לכותבים ליצור אנימציה של כל אובייקט גרפי לאורך נתיב שצוין על ידי הכותבים. בהתאם למפרט, מספר מאפיינים יושמו ב-Chrome 45. השמות של המאפיינים האלה השתנו במפרט באמצע שנת 2016. השמות החדשים הוחלו ב-גרסה 55 ובגרסה 56 של Chrome. הופעלה גם תמיכה באזהרות על הוצאה משימוש במסוף.
בגרסה 58 של Chrome, שמות הנכסים הישנים יוסרו. הנכסים שהושפעו והשמות החדשים שלהם מפורטים בהמשך.
נכס שהוסרה | השם הנוכחי |
---|---|
motion-path | offset-path |
motion-offset | offset-distance |
motion-rotation | offset-rotate |
תנועה | לקזז |
הסרת EME מהקשרים לא מאובטחים
חלק מהשימושים בתוספים של מדיה מוצפנת (EME) חושפים הטמעות של ניהול זכויות דיגיטלי (DRM) שלא מבוססות על קוד פתוח, כוללות גישה למזהים ייחודיים עמידים ו/או פועלות ללא ארגז חול או עם גישה עם הרשאות. סיכוני האבטחה גבוהים יותר באתרים שנחשפים באמצעות HTTP לא מאובטח, כי כל מי שנמצא בערוץ יכול לתקוף אותם. בנוסף, כשנדרשת הסכמה מהמשתמשים, תוקף כזה יכול לנצל לרעה אישור קבוע לאתר HTTP לא מאובטח.
התמיכה בהקשרים לא מאובטחים הוסרה ממפרט EME בגרסה 1, והיא לא נתמכת בהמלצה המוצעת ולא צפויה להיכלל בהמלצה הסופית הבאה. החל מגרסה 44 של Chrome (מאי 2015), ה-API מציג הודעה על הוצאה משימוש במקורות לא מאובטחים. בגרסה 58 של Chrome, היא הוסרה. השינוי הזה הוא חלק מהמאמץ הכולל שלנו להסיר תכונות מתקדמות ממקורות לא מאובטחים.
כוונה להסרה | מעקב אחר סטטוס Chrome | באג ב-Chromium
הסרת מבצע הקריאה הקודם ל-HTMLEmbedElement ול-HTMLObjectElement
אם לממשק יש מבצע קריאה מהדור הקודם, אפשר להפעיל את המופע כפונקציה. בשלב זה, רק HTMLEmbedElement
ו-HTMLObjectElement
תומכים בפונקציה הזו. היכולת הזו הוצאה משימוש ב-Chrome 57. החל מגרסה 58 של Chrome, הקריאה תגרום להשלכת חריגה.
השינוי הזה מביא את Chrome לקו אחד עם השינויים האחרונים במפרט. ההתנהגות הקודמת לא נתמכת ב-Edge או ב-Safari, והיא תוסר מ-Firefox.
כוונה להסרה | מעקב אחר סטטוס Chrome | באג ב-Chromium
הסרת הצפנות ChaCha20-Poly1305 טרום-סטנדרטיות
בשנת 2013, ב-Chrome 31 נפרסו סטים חדשים של אלגוריתמים להצפנה (cipher suites) של TLS שמבוססים על האלגוריתם ChaCha20 והאלגוריתם Poly1305 של פרופ' דן ברנשטיין. בהמשך, עם שינויים קלים, הם אושרו כתקנים ב-IETF בתור RFC 7539 ו-RFC 7905. הגרסה הסטנדרטית שוחררה בתחילת 2016 עם גרסת Chrome 49. אנחנו מסירים עכשיו את הווריאציות הקודמות לסטנדרט.
כוונה להסרה | מעקב אחר סטטוס Chrome | באג ב-Chromium
הסרת התמיכה בהתאמה של commonName באישורים
ב-RFC 2818 מתוארות שתי שיטות להתאמת שם דומיין לאישור: שימוש בשמות הזמינים בתוסף subjectAlternativeName
, או, במקרה של היעדר תוסף SAN, חזרה ל-commonName
. חלופה ל-commonName
הוצאה משימוש ב-RFC 2818 (שפורסם בשנת 2000), אבל עדיין יש תמיכה במספר לקוחות TLS, לרוב באופן שגוי.
השימוש בשדות subjectAlternativeName
מאפשר לדעת בבירור אם האישור מבטא קישור לכתובת IP או לשם דומיין, והוא מוגדר באופן מלא מבחינת האינטראקציה שלו עם אילוצים על שמות. עם זאת, commonName
הוא לא ברור, ולכן התמיכה בו הייתה מקור לבאגים באבטחה ב-Chrome, בספריות שבהן הוא משתמש ובסביבת ה-TLS באופן כללי.
הסיכון לתאימות אם מסירים את commonName
הוא נמוך. ה-RFC 2818 הוצא משימוש לפני כמעט שני עשורים, ודרישות הבסיס (שכל רשויות האישורים המהימנות לציבור חייבות לציית להן) מחייבות את נוכחות השדה subjectAltName
מאז 2012. כבר מגרסה 48 של Firefox, נדרש ב-Firefox את השדה subjectAltName
לכל אישור חדש שניתן לו אמון באופן ציבורי.
כוונה להסרה | מעקב אחר סטטוס Chrome | באג ב-Chromium
ביטים של TextTrack שקשורים ל-VTTRegion
רכיבי הממשק regions
, addRegion()
ו-removeRegion()
הוסרו מהמפרט של WebVTT והם יוסרו ב-Chrome 58 כדי לעמוד בדרישות של המפרט העדכני ביותר. אנחנו לא צופים השפעה רבה מההסרה הזו, כי התכונה אף פעם לא הופעלה כברירת מחדל (כלומר, היא הייתה זמינה רק אחרי הפעלת דגל). אם אתם צריכים חלופה, תוכלו להשתמש במאפיין VTTCue.region
שנוסף ב-Chrome 58.
מעקב אחר סטטוס העדכונים של Chrome | באג ב-Chromium
WebAudio: הסרה של ממשק AudioSourceNode
הממשק AudioSourceNode
לא נכלל במפרט של Web Audio, אי אפשר ליצור אותו ואין לו מאפיינים, כך שבעצם אין לו פונקציונליות שזמינה למפתחים. לכן הוא הוסר.
כוונה להסרה | מעקב אחר סטטוס Chrome | באג ב-Chromium
הסרת המאפיין הגלובלי webkitdropzone
המאפיין הגלובלי dropzone
הוצג במפרט של HTML5 לגרירה ושחרור כשיטה מצהירה לציון הנכונות של רכיב HTML לשמש כיעד של פעולת גרירה ושחרור, סוגי התוכן שאפשר לשחרר על הרכיב ופעולת הגרירה והשחרור (העתקה/העברה/קישור).
המאפיין לא זכה לפופולריות בקרב ספקי הדפדפנים. ב-Blink וב-WebKit מיושמת רק צורת קידומת של המאפיין, webkitdropzone
. המאפיין dropzone
הוסר מהמפרט בתחילת מרץ 2017, ולכן הגרסה עם הקידומת תוסר מ-Chrome.
כוונה להסרה | מעקב אחר סטטוס Chrome | באג ב-Chromium
הוצאה משימוש של שימוש לא מאובטח בהתראות
התראות הן תכונה חזקה, כי הן מאפשרות לאתרים להפעיל ממשק משתמש של מערכת כדי להעביר מידע פרטי בעצמו או אות לכך שמידע פרטי השתנה. תוקפים יכולים לרחרח או לגנוב כל מידע שנשלח באמצעות התראה בחיבור לא מאובטח. כדי לשלוח התראות Web Push, נדרש מקור מאובטח, ולכן השינוי הזה יתאים את ההתראות הלא פרוגרמטיות להתרעות הפרוגרמטיות. השינוי הזה הוא חלק מהמאמץ הכולל שלנו להסיר תכונות מתקדמות ממקורות לא מאובטחים.
כוונה להסרה | מעקב אחר סטטוס Chrome | באג ב-Chromium
הוצאה משימוש של שימוש בהתראות ממסגרות iframe לא מאובטחות
בקשות הרשאה מ-iframes עלולות לבלבל משתמשים, כי קשה להבחין בין המקור של הדף שמכיל את ה-iframe לבין המקור של ה-iframe ששולח את הבקשה. כשהיקף הבקשות לא ברור, קשה למשתמשים להחליט אם להעניק או לדחות את ההרשאה.
איסור ההתראות ב-iframes יעזור גם להתאים את הדרישות להרשאת התראות לדרישות של התראות דחיפה, וכך להקל על המפתחים.
מפתחים שזקוקים לפונקציה הזו יכולים לפתוח חלון חדש כדי לבקש הרשאה לקבלת התראות.
ההסרה מתבצעת ב-Chrome 62.
כוונה להסרה | מעקב אחר סטטוס Chrome | באג ב-Chromium
הסרת indexedDB.webkitGetDatabaseNames()
הוספנו את התכונה הזו כש-Indexed DB היה חדש יחסית ב-Chrome והשימוש בתחילית היה פופולרי מאוד. ה-API מחזיר באופן אסינכרוני רשימה של שמות של מסדי נתונים קיימים במקור, וזה נראה הגיוני למדי.
לצערנו, יש ל-design חיסרון: יכול להיות שהתוצאות יהיו לא רלוונטיות ברגע שהן יחזרו, ולכן אפשר להשתמש בו רק לצורכי רישום ביומן, ולא לצורכי לוגיקה רצינית של אפליקציות. בעיית GitHub כוללת קישורים לדיון קודם על חלופות, שדורשות גישה שונה. למפתחים הייתה עניין בנושא מדי פעם, אבל בגלל ההתקדמות האיטית בנושא בכל הדפדפנים, מחברי הספריות מצאו דרכים לעקוף את הבעיה.
מפתחים שזקוקים לפונקציונליות הזו צריכים לפתח פתרון משלהם. לדוגמה, בספריות כמו Dexie.js נעשה שימוש בטבלה גלובלית, שהיא בעצמה מסד נתונים נוסף, כדי לעקוב אחרי שמות של מסדי נתונים.
התכונה הזו הוסרה ב-Chrome 60.
כוונה להוצאה משימוש | מעקב אחרי סטטוס Chrome | באג ב-Chromium