การเลิกใช้งานและการนำออกใน Chrome 59

Joe Medley
Joe Medley

ใน Chrome เกือบทุกเวอร์ชัน เราเห็นการอัปเดตและการปรับปรุงผลิตภัณฑ์ ประสิทธิภาพ และความสามารถของแพลตฟอร์มเว็บเป็นจำนวนมาก บทความนี้อธิบายการเลิกใช้งานและการนำออกใน Chrome 59 ซึ่งอยู่ในรุ่นเบต้าตั้งแต่วันที่ 27 เมษายน รายการนี้อาจมีการเปลี่ยนแปลงได้ทุกเมื่อ

ปิดใช้ navigator.sendBeacon() ชั่วคราวสําหรับ Blob บางรายการ

ฟังก์ชัน navigator.sendBeacon() พร้อมใช้งานตั้งแต่ Chrome 39 ตามที่ติดตั้งใช้งานในตอนแรก อาร์กิวเมนต์ data ของฟังก์ชันอาจมี Blob ที่ไม่เจาะจงประเภทใดก็ได้ซึ่งไม่ได้อยู่ในรายการที่ปลอดภัยของ CORS เราเชื่อว่านี่เป็นภัยคุกคามด้านความปลอดภัยที่อาจเกิดขึ้น แม้ว่าจะยังไม่มีผู้พยายามใช้ประโยชน์จากช่องโหว่นี้ก็ตาม เนื่องจากเราไม่มีวิธีแก้ไขที่เหมาะสมในทันที sendBeacon() จึงเรียกใช้กับ Blob ประเภทที่ไม่ใช่รายการที่ปลอดภัยของ CORS ไม่ได้อีกต่อไปชั่วคราว

แม้ว่าการเปลี่ยนแปลงนี้จะมีผลกับ Chrome 60 แต่ก็ได้ผสานรวมกลับไปยัง Chrome 59 แล้ว

ข้อบกพร่องของ Chromium

นำฟีเจอร์ออกจาก WebVR ที่ไม่ได้อยู่ในข้อกำหนดฉบับแก้ไข

การใช้งาน WebVR ปัจจุบันซึ่งเริ่มใช้งานใน Chrome เวอร์ชัน 52 นั้น มีเมธอดและพร็อพเพอร์ตี้หลายรายการที่จะไม่อยู่ในข้อกำหนดขั้นสุดท้าย เราได้เพิ่มข้อความเลิกใช้งานสำหรับฟีเจอร์เหล่านี้ในการทดลองใช้แหล่งที่มาที่เริ่มขึ้นใน Chrome เวอร์ชัน 56 เราจึงจะนําฟีเจอร์เหล่านี้ออก ดังนี้

  • VRDisplay.getPose()
  • VRDisplay.resetPose()
  • VRDisplay.isConnected
  • VRDisplayCapabilities.hasOrientation
  • VREyeParameters.fieldOfView

ความตั้งใจที่จะทดสอบ | เครื่องมือติดตามสถานะ Chrome | ข้อบกพร่องของ Chromium | ผลลัพธ์ของการทดลองใช้ Origin จนถึงตอนนี้

นำ FileReaderSync ออกจาก Service Worker

ข้อกำหนดของ Service Worker มีข้อสังเกต (ไม่ใช่ข้อกำหนด) เสมอว่า "ต้องไม่เริ่มคำขอแบบซิงค์ทุกประเภทภายใน Service Worker" เพื่อหลีกเลี่ยงการบล็อก Service Worker (เนื่องจากการบล็อก Service Worker จะบล็อกคำขอเครือข่ายทั้งหมดจากหน้าที่ควบคุม) อย่างไรก็ตาม API แบบซิงค์ เช่น FileReaderSync จะยังคงใช้งานได้ใน Service Worker FileReaderSyncถูกเลิกใช้งานใน Chrome 57 เรานำนโยบายนี้ออกใน Chrome 59

ความตั้งใจที่จะเลิกใช้งาน | เครื่องมือติดตามสถานะ Chrome | ข้อบกพร่องของ Chromium

นำฟังก์ชันการเริ่มต้นเหตุการณ์ DeviceOrientation ที่ไม่เป็นไปตามมาตรฐานออก

ในช่วงที่ผ่านมา แนวโน้มทั่วไปของ API เบราว์เซอร์คือไม่ใช้ฟังก์ชันการเริ่มต้นและหันมาใช้ตัวสร้างออบเจ็กต์แทน ข้อกําหนดของเหตุการณ์ DeviceOrientation เวอร์ชันล่าสุดเป็นไปตามแนวโน้มนี้โดยกำหนดให้มีคอนสตรัคเตอร์สำหรับทั้ง DeviceOrientationEvent และ DeviceMotionEvent

เนื่องจาก Chrome เปิดใช้ตัวสร้างเหล่านี้โดยค่าเริ่มต้น เราจึงนําฟังก์ชันการเริ่มต้นแบบเดิมอย่าง initDeviceMotionEvent() และ initDeviceOrientationEvent() ออกด้วยใน Chrome 59 Edge ได้เลิกใช้งานฟังก์ชันการเริ่มต้นแล้ว และ Firefox ได้จัดส่งคอนสตรัคเตอร์แล้ว

Intent to Remove | ข้อบกพร่องของ Chromium

นําค่า "on-demand" ออกสําหรับคําค้นหาสื่อเมื่อวางเมาส์เหนือ/เมื่อวางเมาส์เหนือ

ค่า "on-demand" สําหรับคําค้นหาสื่อที่โฮเวอร์/โฮเวอร์ใดก็ได้ถูกนําออกจากข้อกําหนดเมื่อประมาณ 1 ปีก่อน ด้วยเหตุนี้ เราจึงนํา Media Query เหล่านี้ออกใน Chrome 59

Intent to Remove | Chromestatus Tracker | ข้อบกพร่องของ Chromium

นำ MediaStreamTrack.remote ออก

ใน Chrome 48 เราได้เพิ่มพร็อพเพอร์ตี้ MediaStreamTrack.remote เพื่อรองรับ Media Capture and Streams API โดยมีเป้าหมายเพื่อให้ JavaScript ทราบว่า MediaStreamTrack ของ WebRTC มาจากแหล่งที่มาระยะไกลหรือในเครื่อง

ตั้งแต่นั้นมา เราได้นําพร็อพเพอร์ตี้นี้ออกจากข้อมูลจำเพาะ และ Chrome เวอร์ชัน 59 ไม่รองรับพร็อพเพอร์ตี้นี้อีกต่อไป

ข้อบกพร่องของ Chromium

นำการรองรับการสร้าง ProgressEvent ด้วย document.createEvent() ออก

ข้อกําหนดของ DOM เวอร์ชันก่อนหน้าจําเป็นต้องใช้ document.createEvent("ProgressEvent") อย่างไรก็ตาม การใช้งานมีจำนวนต่ำเสมอและเราได้นำการรองรับออกจาก Gecko และ Webkit แล้ว กิจกรรมดังกล่าวถูกนำออกจากข้อกำหนดไปเมื่อเดือนมีนาคมปีนี้

เราได้นํา ProgressEvent ออกจาก Chrome แล้วเพื่อให้เป็นไปตามแพลตฟอร์มและข้อกําหนดล่าสุด

ข้อบกพร่องของ Chromium

นำฟีเจอร์ SVGTests.required ออก

ในข้อกำหนด SVG เวอร์ชันแรก แอปพลิเคชันสามารถเรียกใช้ DOMImplementation.hasFeature เพื่อยืนยันว่าอินเทอร์เฟซ SVG หนึ่งๆ ได้รับการสนับสนุน องค์ประกอบ SVG จํานวนมากมีแอตทริบิวต์ requiredFeatures ที่แสดงผลข้อมูลเดียวกัน

ใน SVG2 พร็อพเพอร์ตี้ DOMImplementation.hasFeature จะแสดงผลลัพธ์เป็นจริงเสมอ ด้วยเหตุนี้ requiredFeatures จึงไม่มีการดำเนินการใดๆ ที่เป็นประโยชน์อีกต่อไป เนื่องจากมีการนำออกจากข้อกำหนด จึงเลิกใช้งานใน Chrome 54 และตอนนี้ก็นำออกไปแล้ว

Intent to Remove | Chromestatus Tracker | ข้อบกพร่องของ Chromium