הוצאה משימוש והסרות של ממשקי API ב-Chrome 53

ג'ו מדלי
ג'ו מדלי

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

צפנים מבוססי DHE מופסקים בהדרגה

TL;DR: צפנים המבוססים על DHE יוסרו ב-Chrome 53 במחשב, כי הם לא מספיקים לשימוש לטווח ארוך. שרתים צריכים להשתמש ב-ECDHE, אם הוא זמין, או בצופן RSA פשוט אם הוא לא זמין.

כוונה להסיר | מעקב אחר הסטטוס של Chrome | באג ב-Chromium

בשנה שעברה, הגדרנו ב-Chrome את גודל הקבוצה המינימלי של TLS Diffie-Hellman מ-512 סיביות ל-1,024 סיביות. עם זאת, טווח של 1024 סיביות אינו מספיק. לפי מדדים, כ-95% מחיבורי ה-DHE שמוצגים ב-Chrome משתמשים ב-DHE 1,024 ביט. השילוב הזה, בשילוב עם אופן המשא ומתן של DHE ב-TLS (אבטחת שכבת התעבורה), מקשה על המעבר מעבר ל-1,024 ביט.

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

צפנים המבוססים על DHE הוצאו משימוש החל מ-Chrome 51. התמיכה ב-Chrome 53 מוסרת מהמחשב.

אזהרה על הוצאה משימוש של FileError

TL;DR: אנחנו צפויים להסיר את ממשק FileError שהוצא משימוש ב-Chrome 54. מחליפים את ההפניות אל err.code בerr.name וב-err.message.

כוונה להסיר | מעקב אחר הסטטוס של Chrome | באג ב-Chromium

הגרסה הנוכחית של תקן File API לא מכילה את הממשק FileError והתמיכה בה הוצאה משימוש ב-2013. ב-Chrome 53, האזהרה הזו על הוצאה משימוש תודפס במסוף כלי הפיתוח:

הקובץ 'FileError' הוצא משימוש ויוסר בגרסה 54. יש להשתמש במאפיינים 'שם' או 'הודעה' של השגיאה ולא במאפיין 'קוד'.

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

  • הערכים FileReader.error ו-FileWriter.error יהיו DOMException אובייקטים במקום FileError אובייקטים.
  • עבור קריאות אסינכרוניות של FileSystem, ErrorCallback יועברו אל FileError.ErrorCode במקום FileError.
  • עבור שיחות סינכרוניות של FileSystem, המערכת תשמיע FileError.ErrorCode במקום באפשרות FileError.

השינוי הזה משפיע רק על קוד שמסתמך על השוואה בין הקוד של מופע השגיאה (e.code) ישירות לערכי טיפוסים בני FileError (FileError.NOT_FOUND_ERR וכו'). קוד שנבדק כנגד קבועים בקידוד קשיח (לדוגמה e.code === 1) עלול להיכשל לאחר דיווח למשתמש על שגיאות שגויות.

למרבה המזל, סוגי השגיאה FileError, DOMError ו-DOMException חולקים את כולם name ו-message, שנותנים שמות עקביים למקרי שגיאה (במילים אחרות, e.name === "NotFoundError"). קוד צריך להשתמש במקום זאת במאפיינים האלה, שיפעלו בכל הדפדפנים וימשיכו לפעול לאחר הסרת ממשק FileError עצמו.

ההסרה של FileError צפויה להתבצע ב-Chrome 54.

צריך להסיר את מאפיין התוצאות עבור <input type=search>

TL;DR: אנחנו מסירים את המאפיין results כי הוא לא חלק מתקן כלשהו ומוטמע באופן לא עקבי בדפדפנים שונים.

כוונה להסיר | מעקב אחר הסטטוס של Chrome | באג ב-Chromium

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

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

    input[type=search] {
      background: url(some-great-icon.png) no-repeat scroll 15px 15px;
      padding-left:30px;
    }
 ```   

This attribute has been deprecated since Chrome 51.