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

Joe Medley
Joe Medley

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

הסרת המאפיין BluetoothDevice.uuids

אנחנו מסירים את המאפיין BluetoothDevice.uuids כדי להציג את Web Bluetooth API ב- למפרט הנוכחי. ניתן לאחזר את כל שירותי GATT המורשים על ידי התקשרות device.getPrimaryServices().

באג ב-Chromium

הסרת אלמנט ליצירת מפתחות

החל מ-Chrome 49, התנהגות ברירת המחדל של <keygen> היא להחזיר את מחרוזת, אלא אם ניתנה הרשאה לדף זה. אין תמיכה ב-IE/Edge <keygen> ולא ציינת אותות ציבוריים לתמיכה ב-<keygen>. Firefox כבר חוסם את <keygen> מאחורי תנועת משתמש, אבל הוא גלוי לכולם תומכים בהסרה שלו. המשלוח של Safari הוא <keygen> ולא צוין את תפיסות הציבור לגבי התמיכה המתמשכת שלו. ב-Chrome 57, האלמנט הזה הוסר.

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

הסרת התחילית של ממשק ה-API לניהול מאגר הנתונים הזמני

שתי שיטות ומטפל באירועים, webkitClearResourceTimings(), webkitSetResourceTimingBufferSize() וגם onwebkitresourcetimingbufferfull הן מיושנות וספציפיות לספק. בגרסאות סטנדרטיות של ממשקי ה-API האלה קיימת תמיכה מאז Chrome 46, והפונקציות עם הקידומת שהוצאו משימוש גם בגרסה הזו. במקור התכונות האלה הטמענו ב-WebKit אבל Safari לא הפעיל אותן. Firefox, IE 10+ וכן ל-Edge יש רק גרסה של ה-API ללא קידומת. לכן גרסאות ה-webkit מוסרים.

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

הסרת ServiceWorkerMessageEvent לטובת שימוש ב-MessageEvent

מפרט ה-HTML הורחב ל-MessageEvent כדי לאפשר את ServiceWorker כסוג של המאפיין source. client.postMessage() ויצירת הודעה מותאמת אישית האירועים משתנים ל-MessageEvent במקום ב-ServiceWorkerMessageEvent. ServiceWorkerMessageEvent הוסר.

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

הסרת כינויים גלובליים של IndexedDB עם קידומת של webkit

נקודת הכניסה IndexedDB ו-constructors גלובליים נחשפו באמצעות webkit תחיליות בסביבות Chrome 11. הגרסאות ללא קידומת נוספו ב Chrome 24 והגרסאות עם הקידומת הוצאו משימוש ב-Chrome 38. הממשקים הבאים מושפעים מכך:

  • webkitIndexedDB (נקודת הכניסה הראשית)
  • webkitIDBKeyRange (בונה גלובלי שלא ניתן לקריאה, אבל יש בו שיטות סטטיות שימושיות)
  • webkitIDBCursor
  • webkitIDBDatabase
  • webkitIDBFactory
  • webkitIDBIndex
  • webkitIDBObjectStore
  • webkitIDBRequest
  • webkitIDBTransaction (בנאים גלובליים שאינם ניתנים לקריאה)

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

WebAudio: מסירים את התחילית AudioContext ו-אופלייןAudioContext

Chrome תומך ב-WebAudio מאז אמצע 2011, כולל AudioContext. סכום של OfflineAudioContext נוסף בשנה שלאחר מכן. בהתחשב למשך הזמן יש תמיכה בממשקים, והיעד לטווח הארוך של Google להסרת קידומות והגרסאות המקדימות של הממשקים האלה הוצאו משימוש לקראת סוף 2014 והמערכת מסירה אותן.

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

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

השיטה webkitCancelRequestAnimationFrame() מיושנת, ממשק API ספציפי לספק וה-cancelAnimationFrame() הסטנדרטי ארוך יש תמיכה ב-Chromium. לכן, אנחנו מסירים את גרסת ה-webkit.

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

הוצאה משימוש של התאמה לא תלוית-רישיות למאפיין usemap

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

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

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

הוצאה משימוש של FileReaderSync ב-Service Works

המפרט של Service Worker תמיד הייתה את ההערה (הלא נורמלית) ש"כל אסור ליזום בקשות סינכרוניות בתוך שירות worker", כדי להימנע מחסימת ה-Service Worker. חסימת Service Worker תחסום את כל בקשות הרשת מדפים מבוקרים. למרבה הצער, ממשקי ה-API של FileReaderSync זמינים כבר זמן רב ב-Service Workers.

בשלב הזה רק Firefox ו-Chrome חושפים את FileReaderSync ב-service worker. יש הסכמה מ-Firefox בדיון המפרט שצריך לתקן את הבעיה. ההסרה צפויה ב-Chrome 59.

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

הוצאה משימוש של המתקשר מדור קודם עבור HTMLEmbedElement ו-HTMLObjectElement

זה אומר שבממשק יש מבצע קריאה מדור קודם, אפשר לקרוא למכונה מותאמת אישית. נכון לעכשיו, HTMLEmbedElement ו-HTMLObjectElement תומכים בכך החדשה. ב-Chrome 57 האפשרות הזו הוצאה משימוש. לאחר ההסרה, כלומר צפויה ב-Chrome 58, השיחה תגרור הודעת חריגה.

השינוי הזה מאפשר ל-Chrome להתאים לשינויים האחרונים במפרטים. ההתנהגות הקודמת לא נתמכת ב-Edge או Safari, הוסרה מ-Firefox.

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

להוציא משימוש את RTCRtcpMuxPolicy של "negotiate"

Chrome משתמש ב-rtcpMuxPolicy כדי לציין את המדיניות המועדפת שלו לגבי שימוש בגליל RTP/RTCP. ב-Chrome 57, שינינו את ברירת המחדל rtcpMuxPolicy ל"נדרש" ואת המילה 'negotiate' הוצאה משימוש מהסיבות הבאות:

  • RTCP לא מוקלד משתמש במשאבי רשת נוספים.
  • הסרת ההגדרה 'משא ומתן' מתבצעת את פלטפורמת ה-API תהיה פשוטה יותר, &quot;RtpSender&quot;/&quot;RtpReceiver&quot; תהיה להם העברה אחת בלבד.

ב-Chrome 57 , "negotiate" הוצא משימוש. אנחנו סבורים שמדובר בשינוי חד-פעמי כי המשתמש יקבל הודעה על הוצאה משימוש ו-RTCPeerConnection עדיין יוכל ניתנים ליצירה. אפשרות ההסרה זמינה ב-Chrome 63.

כוונת הוצאה משימוש | באג ב-Chromium

הוצאה משימוש של תמיכה בפרטי כניסה מוטמעים בבקשות למשאבי משנה

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

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

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