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

Joe Medley
Joe Medley

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

เมาส์บน Android หยุดเริ่มทำงาน TouchEvents

เหตุการณ์เกี่ยวกับเมาส์ระดับต่ำของ Android ใน Chrome เกิดขึ้นตามมาจนถึง Chrome 57 เส้นทางของเหตุการณ์ที่ออกแบบมาเพื่อการโต้ตอบด้วยการสัมผัส ตัวอย่างเช่น การลากเมาส์ขณะเกิดการเคลื่อนไหว การกดเมาส์ปุ่มสร้าง MotionEvents ที่ส่งผ่าน View.onTouchEvent

แต่เนื่องจากกิจกรรมการสัมผัสไม่สามารถรองรับการวางเมาส์ การเลื่อนเมาส์ไปวางจะตามด้วย แยกต่างหาก การออกแบบมีผลข้างเคียงหลายอย่าง รวมถึงการโต้ตอบกับเมาส์ เริ่มทำงาน TouchEvents ปุ่มเมาส์ทุกปุ่มจะปรากฏเป็นปุ่มเมาส์ซ้าย และ MouseEvents ถูกระงับโดย TouchEvents

ตั้งแต่ Chrome 58 เป็นต้นไป เมาส์ที่ใช้ Android M ขึ้นไปจะทำงานดังนี้

  • ไม่เริ่มทำงาน TouchEvents อีกต่อไป
  • เริ่มการทำงานของ MouseEvents ตามลำดับที่สอดคล้องกันด้วยปุ่มที่เหมาะสมและ พร็อพเพอร์ตี้อื่นๆ

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

นำการจับคู่ที่ไม่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่สำหรับแอตทริบิวต์ usemap ออก

ก่อนหน้านี้แอตทริบิวต์ usemap ได้กำหนดเป็นแบบไม่ใส่ตัวพิมพ์เล็ก/ใหญ่ ขออภัย การนำสิ่งนี้ไปใช้นั้นซับซ้อนพอ ที่ไม่มีเบราว์เซอร์ใดใช้งานได้เลย อย่างถูกต้อง งานวิจัยได้แนะนำว่า อัลกอริทึมที่ซับซ้อนเช่นนี้ เป็นสิ่งที่ไม่จำเป็น และแม้แต่การจับคู่ที่ไม่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ของ ASCII ก็ไม่จำเป็น

ด้วยเหตุนี้ เราจึงได้อัปเดตข้อกำหนดเพื่อให้การจับคู่ที่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ ใช้แล้ว เราเลิกใช้งานลักษณะการทำงานเดิมใน Chrome 57 และตอนนี้ได้ถูกนำออกแล้ว

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

นำการนำทางเฟรมบนสุดที่เริ่มต้นในเนื้อหาไปยัง URL ข้อมูลออก

เนื่องจากพวกเขาไม่คุ้นเคยกับผู้ใช้เบราว์เซอร์ที่ไม่เชี่ยวชาญด้านเทคนิค เราจึง เห็นการใช้รูปแบบ data: ในการปลอมแปลงและฟิชชิงมากขึ้นเรื่อยๆ การโจมตี เราได้บล็อกหน้าเว็บไม่ให้โหลด URL data: รายการเพื่อป้องกันปัญหานี้ ในเฟรมด้านบน รายการนี้มีผลกับแท็ก <a>, window.open window.location และกลไกที่คล้ายกัน รูปแบบ data: จะยังคงใช้ได้กับ ทรัพยากรที่โหลดด้านล่างตามหน้าเว็บ

เราจะนำฟีเจอร์นี้ออกใน Chrome 60

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

นำชื่อที่เลิกใช้งานแล้วสำหรับคุณสมบัติเส้นทางการเคลื่อนไหวออก

พร็อพเพอร์ตี้ CSS ของเส้นทางการเคลื่อนไหวช่วยให้ผู้เขียนสร้างการเคลื่อนไหวให้กับออบเจ็กต์กราฟิกได้ เส้นทางที่ระบุโดยผู้เขียน ตามข้อกำหนดจำเพาะ พร็อพเพอร์ตี้หลายรายการได้ดำเนินการต่อไปนี้ นำมาใช้ใน Chrome 45 ชื่อของพร็อพเพอร์ตี้เหล่านี้มีการเปลี่ยนแปลงในข้อกำหนดเมื่อช่วงกลางปี 2016 โครเมียม นำเมตริก ชื่อใหม่ใน Chrome 55 และ Chrome 56 นอกจากนี้ยังมีการใช้คำเตือนการเลิกใช้งานคอนโซลด้วย

ใน Chrome 58 ระบบจะนำชื่อพร็อพเพอร์ตี้เดิมออก ที่พักที่ได้รับผลกระทบ และชื่อใหม่ของบุคคลดังกล่าวแสดงอยู่ด้านล่าง

นำพร็อพเพอร์ตี้ออกแล้ว ชื่อปัจจุบัน
เส้นทางการเคลื่อนไหว เส้นทางออฟเซ็ต
ออฟเซ็ตการเคลื่อนไหว ระยะทางออฟเซ็ต
การหมุนด้วยการเคลื่อนไหว หมุนออฟเซ็ต
การเคลื่อนไหว หักลบ

ตั้งใจที่จะนำออก

นำ EME ออกจากบริบทที่ไม่ปลอดภัย

การใช้ตัวอย่าง ส่วนขยายสื่อที่เข้ารหัส (EME) เปิดเผยการใช้งานการจัดการสิทธิ์ดิจิทัลที่ไม่ใช่โอเพนซอร์ส เกี่ยวข้องกับการเข้าถึงตัวระบุที่ไม่ซ้ำกันแบบถาวร และ/หรือเรียกใช้โดยไม่ใช้แซนด์บ็อกซ์หรือกับ การเข้าถึงที่เป็นสิทธิ์เฉพาะบุคคล เว็บไซต์ที่เปิดเผยข้อมูลผ่านที่ไม่ปลอดภัยจะมีความเสี่ยงมากขึ้น HTTP เนื่องจากอาจถูกโจมตีโดยใครก็ได้ในช่อง นอกจากนี้ ต้องมีความยินยอมจากผู้ใช้ การยอมรับอย่างต่อเนื่องสำหรับเว็บไซต์ HTTP ที่ไม่ปลอดภัยอาจ ที่ผู้โจมตีใช้ประโยชน์จากช่องโหว่นี้

การรองรับบริบทที่ไม่ปลอดภัยถูกนำออกจาก ข้อมูลจำเพาะของ EME เวอร์ชัน 1 และไม่รองรับใน คำแนะนำที่เสนอ คาดว่าจะได้รับในขั้นสุดท้ายหลังจากนั้น จะไม่อยู่ในข้อเสนอที่กำลังจะมาถึง คำแนะนำหรือคำแนะนำสุดท้าย ที่ตามมาหลังจากนั้น API ได้แสดง ข้อความการเลิกใช้งานในต้นทางที่ไม่ปลอดภัยตั้งแต่ Chrome 44 (พฤษภาคม 2015) ใน Chrome 58 ตอนนี้เลย การเปลี่ยนแปลงนี้เป็นส่วนหนึ่งของความพยายามในวงกว้างของเรา นำฟีเจอร์ที่มีประสิทธิภาพออกจากต้นทางที่ไม่ปลอดภัย

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

นำตัวเรียกเดิมสำหรับ HTMLEmbedElement และ HTMLObjectElement ออก

อินเทอร์เฟซมีตัวเรียกแบบเดิมหมายความว่าอินสแตนซ์สามารถเรียกใช้เป็น ขณะนี้ HTMLEmbedElement และ HTMLObjectElement รองรับฟีเจอร์นี้ ใน Chrome 57 ความสามารถนี้เลิกใช้งานแล้ว เริ่มตั้งแต่ Chrome 58 ถือเป็นข้อยกเว้น

การเปลี่ยนแปลงนี้จะทำให้ Chrome สอดคล้องกับการเปลี่ยนแปลงข้อมูลจำเพาะล่าสุด ลักษณะการทำงานเดิม Edge หรือ Safari ไม่รองรับ ลบออกจาก Firefox

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

นำการเข้ารหัส ChaCha20-Poly1305 มาตรฐานออก

ในปี 2013 มีการนำ Chrome 31 มาใช้ ชุดการเข้ารหัส TLS ใหม่ โดยอิงตามอัลกอริทึม ChaCha20 และ Poly1305 ของศาสตราจารย์ Dan Bernstein นี่คือ ทำให้เป็นมาตรฐานในภายหลัง โดยมีการปรับเปลี่ยนเล็กน้อยที่ IETF RFC 7539 และ RFC 7905 เราจัดส่งตัวแปรมาตรฐานเมื่อต้นปี 2016 โดย Chrome 49 ตอนนี้เรากำลังนำรูปแบบก่อนมาตรฐานออก

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

นำการรองรับการจับคู่ CommonName ในใบรับรองออก

RFC 2818 อธิบายวิธีจับคู่ 2 วิธี ชื่อโดเมนเทียบกับใบรับรอง: ใช้ชื่อที่มีอยู่ภายใน subjectAlternativeName หรือในกรณีที่ไม่มีส่วนขยาย SAN กลับไปใช้ commonName ทางเลือกสำรองสำหรับ commonName คือ เลิกใช้งานแล้วใน RFC 2818 (เผยแพร่ในปี 2000) แต่การรองรับยังคงอยู่ในรูปแบบ ไคลเอ็นต์ TLS มักจะไม่ถูกต้อง

การใช้ฟิลด์ subjectAlternativeName ทำให้เห็นได้ชัดว่า ใบรับรองที่แสดงถึงการเชื่อมโยงกับที่อยู่ IP หรือชื่อโดเมน และเป็น นิยามอย่างครบถ้วนในแง่ของการโต้ตอบกับข้อจำกัดชื่อ อย่างไรก็ตาม commonName ไม่ชัดเจนและจึงเป็นแหล่งที่มาหนึ่ง ของข้อบกพร่องด้านความปลอดภัยใน Chrome, ไลบรารีที่ใช้ และภายในระบบนิเวศ TLS ในวงกว้าง

ความเสี่ยงด้านความเข้ากันได้ในการนำ commonName ออกอยู่ในระดับต่ำ RFC 2818 มี เลิกใช้งานมานานเกือบ 2 ทศวรรษ ข้อกำหนดพื้นฐาน (ซึ่งผู้ออกใบรับรองที่ได้รับความเชื่อถือจากสาธารณะทั้งหมดจะต้องปฏิบัติตาม) ได้กำหนดไว้ การมี subjectAltName ตั้งแต่ปี 2012 Firefox ต้องการ subjectAltNameสำหรับใบรับรองใหม่ที่ได้รับความเชื่อถือจากสาธารณะตั้งแต่ Firefox 48

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

องค์ประกอบอินเทอร์เฟซ regions, addRegion() และ removeRegion() ได้ ออกจากข้อกำหนดของ WebVTT และนำออกจาก Chrome 58 แล้วเพื่อให้เป็นไปตาม ข้อกำหนดล่าสุด เราคาดว่าจะได้รับผลกระทบเพียงเล็กน้อยจาก การนำออกนี้เนื่องจากไม่เคยมีการเปิดใช้ฟีเจอร์นี้โดยค่าเริ่มต้น (หมายความว่า หลังธง) ผู้ที่ต้องการทางเลือกสามารถใช้ VTTCue.region ได้ ซึ่งจะเพิ่มเข้ามาใน Chrome 58

ตัวติดตามสถานะ Chrome | ข้อบกพร่องของ Chromium

WebAudio: นำอินเทอร์เฟซ AudioSourceNode ออก

อินเทอร์เฟซ AudioSourceNode ไม่ได้เป็นส่วนหนึ่งของ ข้อกำหนดเกี่ยวกับเสียงบนเว็บ เป็นไปไม่ได้ และไม่มีแอตทริบิวต์ จึงไม่มีนักพัฒนาซอฟต์แวร์ ฟังก์ชันที่เข้าถึงได้ง่าย จึงถูกนำออก

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

นำแอตทริบิวต์ส่วนกลาง webkitdropzone ออก

แอตทริบิวต์ส่วนกลาง dropzone ได้รับการแนะนำโดย ข้อกำหนดการลากและวาง HTML5 เป็นวิธีการประกาศสำหรับการระบุความเต็มใจขององค์ประกอบ HTML ที่จะเป็น เป้าหมายของการดำเนินการลากและวาง ประเภทเนื้อหาที่สามารถวางได้ องค์ประกอบ และการดำเนินการลากและวาง (คัดลอก/ย้าย/ลิงก์)

แอตทริบิวต์นี้ไม่ได้รับความสนใจในหมู่ผู้ให้บริการเบราว์เซอร์ Blink และ WebKit ใช้เฉพาะรูปแบบที่มีคำนำหน้าของแอตทริบิวต์ webkitdropzone เนื่องจาก นำแอตทริบิวต์ dropzone ออกจากข้อกำหนดใน ต้นเดือนมีนาคม 2017 กำลังนำเวอร์ชันนำหน้าออกจาก Chrome

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

เลิกใช้งานการแจ้งเตือนที่ไม่ปลอดภัย

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

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

ปิดใช้งานการแจ้งเตือนจาก iframe ที่ไม่ปลอดภัย

คำขออนุญาตจาก iframe อาจทำให้ผู้ใช้สับสนได้เนื่องจากเป็นการยากที่จะ แยกความแตกต่างระหว่างต้นทางของหน้าเว็บที่มีกับต้นทางของ iframe ที่ส่งคำขอ เมื่อขอบเขตคำขอไม่ชัดเจน ก็ทำได้ยาก เพื่อให้ผู้ใช้ตัดสินใจได้ว่าจะอนุญาตหรือปฏิเสธการให้สิทธิ์

การไม่อนุญาตการแจ้งเตือนใน iframe จะทำให้ข้อกำหนดของ สิทธิ์การแจ้งเตือนสำหรับข้อความ Push ที่ช่วยลดอุปสรรคสำหรับ

นักพัฒนาแอปที่ต้องการฟังก์ชันการทำงานนี้สามารถเปิดหน้าต่างใหม่เพื่อขอ สิทธิ์การแจ้งเตือน

การนําออกใน Chrome 62

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

นำindexDB.webkitGetDatabaseNames() ออก

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

ขออภัย การออกแบบมีข้อบกพร่อง ซึ่งอาจทำให้ผลการค้นหาล้าสมัยโดยเร็วที่สุด เมื่อมีการส่งคืน ดังนั้นเพื่อใช้ในการบันทึกเท่านั้น ไม่ร้ายแรง ตรรกะของแอปพลิเคชัน ปัญหา GitHub ติดตาม/ลิงก์ไปยัง ที่เคยหารือเกี่ยวกับทางเลือกอื่น ซึ่งจะต้องมีแนวทางอื่น แม้ว่านักพัฒนาซอฟต์แวร์จะสนใจอย่างต่อเนื่อง แต่เนื่องจากขาด ความคืบหน้าของเบราว์เซอร์ ปัญหานี้ได้แก้ไขโดยผู้เขียนห้องสมุด

นักพัฒนาแอปที่ต้องการฟังก์ชันการทำงานนี้จะต้องพัฒนาโซลูชันของตนเอง ตัวอย่างเช่น ไลบรารีอย่าง Dexie.js ใช้ตารางส่วนกลาง ซึ่งเป็นอีกฐานข้อมูลหนึ่งสำหรับติดตามชื่อฐานข้อมูล

เราจะนำฟีเจอร์นี้ออกจาก Chrome 60

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