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

Joe Medley
Joe Medley

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

הוצאה משימוש של האירוע, המאפיין והאירוע שהסתיים ב-MediaStream

אמ;לק: אנחנו מוציאים משימוש את האירוע והמאפיין ended ואת הגורם המטפל באירועים של onended כי הם הוסרו ממפרט Media Recording ו-Streams.

כוונת הסרה | Chromestatus tracker | באג ב-Chromium

האירוע ended והגורם המטפל באירועים של onended לא נכללים במפרט של WebRTC במשך כשלוש שנים. מפתחים שרוצים לצפות באירועים צריכים להשתמש ב-MediaStreamTracks במקום ב-MediaStreams.

ההסרה צפויה ב-Chrome 53.

חסימת חלונות קופצים מרכיבי iframe ממקורות שונים במהלך אירועי מגע, מלבד במהלך תנועת הקשה

אמ;לק: Chrome יתחיל לאסור חלונות קופצים ופעולות רגישות אחרות באירועי מגע שלא תואמים להקשה מתוך iframes ממקורות שונים.

כוונת הסרה | Chromestatus tracker | באג ב-Chromium

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

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

הוצאה משימוש של עומס יתר של postMessage()

אמ;לק: אנחנו מוציאים משימוש וריאנט בלתי נחוץ של postMessage(), במיוחד postMessage(message, transferables, targetOrigin).

כוונת הסרה | Chromestatus tracker | באג ב-Chromium

השיטה postMessage() מאפשרת תקשורת מאובטחת בין סקריפטים של דפים במקורות שונים. WebKit/Blink תומך בשלוש גרסאות:

  • postMessage(message, targetOrigin)
  • postMessage(message, targetOrigin, transferables)
  • postMessage(message, transferables, targetOrigin)

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

ההסרה צפויה ב-Chrome 54.

הסרת התמיכה ל-X-Frame-Options תגים

אמ;לק: כדי לציית למפרט וגם לשפר את העקביות עם דפדפנים אחרים, אנחנו מסירים את התמיכה ב-X-Frame-Options בתוך תג <meta>.

כוונת הסרה | באג ב-Chromium

כותרת התשובה X-Frame-Options של HTTP מציינת אם דפדפן יכול לעבד דף בתג <frame>, <iframe> או <object>. כך אתרים מונעים חטיפת קליקים (clickjacking) כי לא ניתן להטמיע דפים כאלה באתרים אחרים. הגרסה הנוכחית של המפרט של X-Frame-Options מגבילה באופן מפורש את התמיכה של סוכני המשתמש בשדה הזה בתוך תג <meta>.

כדי לעמוד במפרט וגם לשפר את העקביות עם דפדפנים אחרים, אנחנו מסירים את התמיכה ב-X-Frame-Options בתוך תג <meta>.

הסרת אירוע של לחיצה על לחצן שאינו ראשי

אמ;לק: קליקים לא ראשיים בעכבר כבר לא מפעילים אירועי קליקים, אבל הערך MouseEvent.button עדיין זמין.

כוונת הסרה | Chromestatus tracker | באג ב-Chromium

כדי להתאים את Chrome למפרט UIEvents, אנחנו מסירים את אירועי הקליקים מלחצני עכבר שאינם ראשיים. לחצני העכבר שאינם ראשיים משתנים בהתאם למכשיר. בדרך כלל המשמעות היא כל דבר חוץ מלחצן העכבר הימני או השמאלי. הערה: יכול להיות שהמערכת תאחזר את הלחצן המדויק שלוחצים עליו באמצעות הנכס MouseEvent.button שנשלח לאירועים כמו mousedown או mouseup.

הסרה של requestcomplete()

הפונקציה requestAutocomplete() אפשרה למלא טפסים לפי דרישה באמצעות יכולת המילוי האוטומטי של הדפדפן. מאז עברו יותר משנתיים, היכולת הזו נתמכת רק ב-Blink והשימוש בה נמוך. מהסיבות האלה, requestAutocomplete() יוסר ב-Chrome 52.

כוונת הסרה