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

โจ เมดเลย์
โจ้ เมดเลย์

เราเห็นการอัปเดตและการปรับปรุงผลิตภัณฑ์ ประสิทธิภาพ และความสามารถของแพลตฟอร์มเว็บใน 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

ความตั้งใจในการทดสอบ | ตัวติดตาม Chromestatus | ข้อบกพร่องของ Chromium | ผลช่วงทดลองใช้จากต้นทางจนถึงปัจจุบัน

นำ FileReaderSync ออกจากโปรแกรมทำงานของบริการ

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

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

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

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

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

เจตนาเพื่อนำออก | ข้อบกพร่อง Chromium

นำค่า "ออนดีมานด์" ออกสำหรับคำค้นหาสื่อแบบวางเมาส์/วางเมาส์

ค่า “ออนดีมานด์” สำหรับคำค้นหาสื่อแบบวางเมาส์/วางเมาส์บนใดๆ ถูกนำออกออกจากข้อกำหนดเมื่อประมาณปีที่แล้ว ด้วยเหตุนี้ Chrome 59 จึงได้นำคำค้นหาสื่อเหล่านี้ออก

เจตนาเพื่อนำออก | ตัวติดตาม Chromestatus | ข้อบกพร่อง Chromium

นำ MediaStreamTrack.remote ออก

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

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

ข้อบกพร่อง Chromium

นำการสนับสนุนการสร้าง ProgressEvent ออกจาก document.createEvent()

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

ตอนนี้ระบบได้นำ ProgressEvent ออกจาก Chrome แล้วเพื่อให้สอดคล้องกับแพลตฟอร์มและข้อกำหนดล่าสุด

ข้อบกพร่อง Chromium

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

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

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

เจตนาเพื่อนำออก | ตัวติดตาม Chromestatus | ข้อบกพร่อง Chromium