เราเห็นการอัปเดตและการปรับปรุงผลิตภัณฑ์ ประสิทธิภาพ และความสามารถของแพลตฟอร์มเว็บใน Chrome เกือบทุกเวอร์ชัน บทความนี้อธิบายการเลิกใช้งานและการนำออกใน Chrome 58 ซึ่งเป็นเวอร์ชันเบต้า ณ วันที่ 16 มีนาคม รายการนี้อาจเปลี่ยนแปลงได้ตลอดเวลา
เมาส์บน Android หยุดการทำงานของ TouchEvents
จนถึง Chrome 57 เหตุการณ์เมาส์ระดับต่ำของ Android ใน Chrome ดำเนินตามเส้นทางเหตุการณ์ที่ออกแบบมาสำหรับการโต้ตอบด้วยการแตะเป็นหลัก เช่น การเคลื่อนไหวด้วยการลากเมาส์ที่เกิดขึ้นขณะที่กดปุ่มเมาส์จะสร้าง MotionEvents
ซึ่งแสดงผ่าน View.onTouchEvent
แต่เนื่องจากกิจกรรมการแตะไม่รองรับการวางเมาส์เหนือ การเลื่อนเมาส์จะเลื่อนตามเส้นทางแยกต่างหาก การออกแบบนี้มีผลข้างเคียงหลายอย่างรวมถึงการโต้ตอบกับเมาส์ TouchEvents
, ปุ่มเมาส์ทั้งหมดปรากฏเป็นปุ่มเมาส์ซ้าย และ MouseEvents
ถูกระงับโดย TouchEvents
ตั้งแต่ Chrome 58 เป็นต้นไป เมาส์ใน Android M ขึ้นไปจะมีลักษณะดังนี้
- ไม่เริ่มทำงาน
TouchEvents
แล้ว - เริ่มการทํางานของ
MouseEvents
ที่ต่อเนื่องกันโดยมีปุ่มและคุณสมบัติอื่นๆ ที่เหมาะสม
เจตนาเพื่อนำออก | ตัวติดตาม Chromestatus | ข้อบกพร่อง Chromium
นำการจับคู่ที่ไม่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่สำหรับแอตทริบิวต์ usemap ออก
ก่อนหน้านี้แอตทริบิวต์ usemap
ได้กำหนดเป็นไม่มีตัวพิมพ์เล็กหรือใหญ่ น่าเสียดายที่วิธีนี้มีความซับซ้อนมากพอจนไม่มีเบราว์เซอร์ที่ติดตั้งใช้งานได้อย่างถูกต้อง งานวิจัยแนะนำว่าไม่จำเป็นต้องใช้อัลกอริทึมที่ซับซ้อนเช่นนี้
และแม้แต่การจับคู่ ASCII ที่ไม่คำนึงถึงตัวพิมพ์เล็กหรือใหญ่ก็ไม่จำเป็น
ด้วยเหตุนี้ ข้อกำหนดจึงได้รับการอัปเดตให้ใช้การจับคู่ที่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ เราเลิกใช้ลักษณะการทำงานแบบเก่าใน Chrome 57 แล้ว และตอนนี้ได้ถูกนำออกไปแล้ว
เจตนาเพื่อนำออก | ตัวติดตาม Chromestatus | ข้อบกพร่อง Chromium
นำการนำทางในเฟรมระดับบนสุดที่เริ่มต้นเนื้อหาไปยัง URL ข้อมูลออก
เนื่องจากผู้ใช้เบราว์เซอร์ที่ไม่เชี่ยวชาญทางเทคนิค เราจึงเห็นการใช้รูปแบบ data:
ในการปลอมแปลงและการโจมตีแบบฟิชชิงมากขึ้นเรื่อยๆ เพื่อป้องกันไม่ให้เกิดเหตุการณ์เช่นนี้ เราจึงบล็อกไม่ให้หน้าเว็บโหลด URL data:
ในเฟรมระดับบนสุด นโยบายนี้มีผลกับแท็ก <a>
, window.open
,
window.location
และกลไกที่คล้ายกัน ชุดรูปแบบ data:
จะยังคงใช้งานได้สำหรับทรัพยากรที่โหลดด้านล่างโดยหน้าเว็บ
เราจะนำฟีเจอร์นี้ออกจาก Chrome 60
เจตนาเพื่อนำออก | ตัวติดตาม Chromestatus | ข้อบกพร่อง Chromium
นำชื่อที่เลิกใช้งานแล้วสำหรับคุณสมบัติเส้นทางการเคลื่อนไหวออก
คุณสมบัติ CSS ของเส้นทางการเคลื่อนไหวช่วยให้ผู้เขียนทำให้ออบเจ็กต์กราฟิกใดๆ เคลื่อนไหวตามเส้นทางที่ผู้เขียนระบุได้ เราได้นำพร็อพเพอร์ตี้หลายรายการมาใช้ใน Chrome 45 เพื่อให้เป็นไปตามข้อกำหนด ชื่อของที่พักเหล่านี้มีการเปลี่ยนแปลงในข้อกำหนดในช่วงกลางปี 2016 Chrome นำชื่อใหม่ใน Chrome 55 และ Chrome 56 และยังใช้งานคำเตือนการเลิกใช้งานคอนโซลอีกด้วย
ใน Chrome 58 เรากำลังนำชื่อพร็อพเพอร์ตี้เก่าออก พร็อพเพอร์ตี้ที่ได้รับผลกระทบ และชื่อใหม่จะแสดงอยู่ด้านล่าง
นำพร็อพเพอร์ตี้ออกแล้ว | ชื่อปัจจุบัน |
---|---|
เส้นทางการเคลื่อนไหว | เส้นทางออฟเซ็ต |
ออฟเซ็ตการเคลื่อนไหว | ระยะออฟเซ็ต |
การหมุนการเคลื่อนไหว | หมุนออฟเซ็ต |
การเคลื่อนไหว | ออฟเซ็ต |
นำ EME ออกจากบริบทที่ไม่ปลอดภัย
การใช้ส่วนขยายสื่อที่เข้ารหัส (EME) บางอย่างทำให้เกิดการใช้งานการจัดการสิทธิ์ดิจิทัลที่ไม่ใช่โอเพนซอร์ส เกี่ยวข้องกับการเข้าถึงตัวระบุที่ไม่ซ้ำกันแบบถาวร และ/หรือเรียกใช้แบบไม่มีแซนด์บ็อกซ์หรือที่มีสิทธิ์เข้าถึงที่ได้รับสิทธิ์ สำหรับเว็บไซต์ที่แสดงผ่าน HTTP ที่ไม่ปลอดภัยจะเพิ่มขึ้น เนื่องจากเว็บไซต์ดังกล่าวอาจถูกโจมตีโดยทุกคนในช่อง นอกจากนี้ เมื่อจำเป็นต้องได้รับความยินยอมจากผู้ใช้ ผู้โจมตีอาจแสวงหาผลประโยชน์จากการยอมรับเว็บไซต์ HTTP ที่ไม่ปลอดภัย
มีการนำการรองรับบริบทที่ไม่ปลอดภัยออกจากข้อมูลจำเพาะของ EME เวอร์ชัน 1 และไม่รองรับในคำแนะนำที่เสนอ หรือไม่ได้คาดการณ์ในขั้นสุดท้ายหลังจากนั้น จะไม่ได้อยู่ในคำแนะนำที่เสนอที่กำลังจะมีขึ้นหรือคำแนะนำสุดท้ายที่ตามมา API แสดงข้อความการเลิกใช้งานในต้นทางที่ไม่ปลอดภัยมาตั้งแต่ Chrome 44 (พฤษภาคม 2015) ตอนนี้เรานำ Chrome 58 ออกแล้ว การเปลี่ยนแปลงนี้เป็นส่วนหนึ่งของความพยายามในวงกว้างของเราในการนำฟีเจอร์ที่มีประสิทธิภาพออกจากต้นทางที่ไม่ปลอดภัย
เจตนาเพื่อนำออก | ตัวติดตาม Chromestatus | ข้อบกพร่อง Chromium
นำผู้โทรเดิมสำหรับ HTMLEmbedElement และ HTMLObjectElement ออก
อินเทอร์เฟซมีตัวเรียกใช้แบบเดิม ซึ่งหมายความว่าอินสแตนซ์สามารถเรียกใช้เป็นฟังก์ชันได้ ปัจจุบัน HTMLEmbedElement
และ HTMLObjectElement
รองรับฟังก์ชันนี้ ใน Chrome 57 ความสามารถนี้ถูกเลิกใช้งานแล้ว ตั้งแต่ใน Chrome 58 เป็นต้นไป
การโทรจะมีการยกเว้น
การเปลี่ยนแปลงนี้ทำให้ Chrome สอดคล้องกับการเปลี่ยนแปลงข้อกำหนดล่าสุด Edge หรือ Safari ไม่รองรับลักษณะการทํางานแบบเดิม และจะถูกนําออกจาก Firefox
เจตนาเพื่อนำออก | ตัวติดตาม Chromestatus | ข้อบกพร่อง Chromium
นำการเข้ารหัส ChaCha20-Poly1305 แบบก่อนมาตรฐานออก
ในปี 2013 Chrome 31 ได้ติดตั้งใช้งานชุดการเข้ารหัส TLS ใหม่ตามอัลกอริทึม ChaCha20 และ Poly1305 ของ ศาสตราจารย์ Dan Bernstein เราได้กำหนดมาตรฐานเหล่านี้ในภายหลังโดยมีการปรับเปลี่ยนเล็กน้อยที่ IETF เป็น RFC 7539 และ RFC 7905 เราจัดส่งตัวแปรมาตรฐานในช่วงต้นปี 2016 พร้อมกับ Chrome 49 และตอนนี้เราจะนำตัวแปรมาตรฐานก่อนออก
เจตนาเพื่อนำออก | ตัวติดตาม Chromestatus | ข้อบกพร่อง Chromium
ยกเลิกการรองรับการจับคู่ CommonName ในใบรับรอง
RFC 2818 อธิบายถึง 2 วิธีในการจับคู่ชื่อโดเมนกับใบรับรอง ได้แก่ การใช้ชื่อที่มีอยู่ภายในส่วนขยาย subjectAlternativeName
หรือหากไม่มีส่วนขยาย SAN ก็จะกลับไปใช้ commonName
การสำรองเป็น commonName
เลิกใช้งานแล้วใน RFC 2818 (เผยแพร่ในปี 2000) แต่การสนับสนุนยังคงมีอยู่ในไคลเอ็นต์ TLS อีกจำนวนหนึ่ง ซึ่งโดยมากมักจะไม่ถูกต้อง
การใช้ช่อง subjectAlternativeName
ทำให้เห็นได้ชัดว่าใบรับรองแสดงการเชื่อมโยงกับที่อยู่ IP หรือชื่อโดเมน และมีการกำหนดไว้อย่างครบถ้วนในการโต้ตอบกับข้อจำกัดชื่อ แต่commonName
มีความไม่ชัดเจน การสนับสนุนจึงทำให้มีข้อบกพร่องด้านความปลอดภัยใน Chrome, ไลบรารีที่ Chrome ใช้ และภายในระบบนิเวศ TLS ในวงกว้าง
ความเสี่ยงเกี่ยวกับความเข้ากันได้ในการนำ commonName
ออกอยู่ในระดับต่ำ RFC 2818 ได้เลิกใช้งานข้อกำหนดนี้มาเป็นเวลาเกือบ 2 ทศวรรษแล้ว และข้อกำหนดพื้นฐาน (ซึ่งหน่วยงานออกใบรับรองที่ได้รับความไว้วางใจจากสาธารณะต้องปฏิบัติตาม) ได้กำหนดให้ต้องมี subjectAltName
ตั้งแต่ปี 2012 Firefox ต้องใช้ subjectAltName
สำหรับใบรับรองที่เชื่อถือได้รายการใหม่ที่ออกสู่สาธารณะตั้งแต่ Firefox 48 อยู่แล้ว
เจตนาเพื่อนำออก | ตัวติดตาม Chromestatus | ข้อบกพร่อง Chromium
บิตที่เกี่ยวข้องกับ VTTRegion ของ TextTrack
องค์ประกอบอินเทอร์เฟซ regions
, addRegion()
และ removeRegion()
ถูกนำออกจาก
ข้อกำหนดจำเพาะ WebVTT และนำออกใน Chrome 58 เพื่อให้สอดคล้องกับข้อกำหนดล่าสุด เราคาดว่าจะได้รับผลกระทบเพียงเล็กน้อยจากการนำออกนี้เนื่องจากฟีเจอร์นี้ไม่ได้เปิดใช้งานโดยค่าเริ่มต้น (หมายความว่าอยู่เบื้องหลัง) ผู้ที่ต้องการทางเลือกอื่นสามารถใช้พร็อพเพอร์ตี้ VTTCue.region
ที่เพิ่มลงใน Chrome 58 ได้
Chromestatus Tracker | ข้อบกพร่อง Chromium
WebAudio: นำอินเทอร์เฟซ AudioSourceNode ออก
อินเทอร์เฟซ AudioSourceNode
ไม่ใช่ส่วนหนึ่งของข้อกำหนดเฉพาะ Web Audio สร้างไม่ได้และไม่มีแอตทริบิวต์ ดังนั้นจึงไม่มีฟังก์ชันที่นักพัฒนาซอฟต์แวร์เข้าถึงได้ จึงมีการนําออก
เจตนาเพื่อนำออก | ตัวติดตาม Chromestatus | ข้อบกพร่อง Chromium
นำแอตทริบิวต์ส่วนกลางของ webkitdropzone
แอตทริบิวต์ส่วนกลางของ dropzone
เริ่มใช้โดยข้อกำหนดการลากและวาง HTML5 โดยเป็นวิธีเชิงประกาศในการระบุความเต็มใจที่จะให้องค์ประกอบ HTML เป็นเป้าหมายของการดำเนินการลากและวาง ประเภทเนื้อหาที่สามารถวางลงในองค์ประกอบได้ และการดำเนินการลากและวาง (คัดลอก/ย้าย/ลิงก์)
แอตทริบิวต์นี้ดึงดูดผู้ให้บริการเบราว์เซอร์ไม่สำเร็จ Blink และ WebKit
จะใช้เฉพาะแอตทริบิวต์ webkitdropzone
ที่มีคำนำหน้า เนื่องจากมีการนำแอตทริบิวต์ dropzone
ออกจากข้อกำหนดเฉพาะในต้นเดือนมีนาคม 2017 เราจึงนำเวอร์ชันนำหน้าออกจาก Chrome
เจตนาเพื่อนำออก | ตัวติดตาม Chromestatus | ข้อบกพร่อง Chromium
เลิกใช้งานการแจ้งเตือนที่ไม่ปลอดภัย
การแจ้งเตือนเป็นฟีเจอร์ที่มีประสิทธิภาพเนื่องจากอนุญาตให้เว็บไซต์เรียกใช้ UI ของระบบเพื่อส่งข้อมูลส่วนตัว หรือสัญญาณว่าข้อมูลส่วนตัวมีการเปลี่ยนแปลง ผู้โจมตีอาจดักจับหรือขโมยข้อมูลใดๆ ที่ส่งผ่านการแจ้งเตือนผ่านการเชื่อมต่อที่ไม่ปลอดภัย การพุชจากเว็บต้องใช้ต้นทางที่ปลอดภัย ดังนั้นการเปลี่ยนแปลงนี้จะปรับการแจ้งเตือนที่ไม่ใช่ข้อความ Push ให้ตรงกับข้อความ Push การเปลี่ยนแปลงนี้เป็นส่วนหนึ่งของความพยายามในวงกว้างของเราในการนำฟีเจอร์ที่มีประสิทธิภาพออกจากต้นทางที่ไม่ปลอดภัย
เจตนาเพื่อนำออก | ตัวติดตาม Chromestatus | ข้อบกพร่อง Chromium
เลิกใช้การแจ้งเตือนจาก iframe ที่ไม่ปลอดภัย
คำขอสิทธิ์จาก iframe อาจทำให้ผู้ใช้สับสนได้ เนื่องจากความแตกต่างระหว่างต้นทางของหน้าที่มีและต้นทางของ iframe ที่ส่งคำขอนั้นเป็นเรื่องยาก เมื่อขอบเขตของคำขอไม่ชัดเจน ผู้ใช้ก็ตัดสินได้ยากว่าจะอนุญาตหรือปฏิเสธสิทธิ์
นอกจากนี้ การไม่อนุญาตการแจ้งเตือนใน iframe ยังจะช่วยให้ข้อกำหนดสิทธิ์การแจ้งเตือนสอดคล้องกับข้อความ Push อีกด้วย ซึ่งจะช่วยให้นักพัฒนาแอปง่ายขึ้น
นักพัฒนาซอฟต์แวร์ที่ต้องการฟังก์ชันนี้สามารถเปิดหน้าต่างใหม่เพื่อขอสิทธิ์การแจ้งเตือน
การนำออกจะอยู่ใน Chrome 62
เจตนาเพื่อนำออก | ตัวติดตาม Chromestatus | ข้อบกพร่อง Chromium
นำ IndexingDB.webkitGetDatabaseNames() ออก
เราเพิ่มฟีเจอร์นี้เมื่อฐานข้อมูลที่จัดทำดัชนีนั้นค่อนข้างใหม่ใน Chrome และคำนำหน้าก็ได้รับความนิยมอย่างมาก API แบบอะซิงโครนัสจะแสดงผลรายการชื่อฐานข้อมูลที่มีอยู่ในต้นทาง ซึ่งดูเหมือนจะเหมาะสมมากพอ
ขออภัย การออกแบบมีข้อบกพร่อง ผลการค้นหาอาจล้าสมัยทันทีที่ส่งคืนมา จึงสามารถใช้เพื่อการบันทึกเท่านั้น ไม่ใช่ตรรกะของแอปพลิเคชันจริง ปัญหา GitHub จะติดตาม/ลิงก์ไปยังการสนทนาก่อนหน้านี้เกี่ยวกับทางเลือกอื่นๆ ซึ่งจะต้องใช้แนวทางอื่น แม้ว่านักพัฒนาซอฟต์แวร์จะให้ความสนใจอย่างต่อเนื่อง แต่การขาดการดำเนินการข้ามเบราว์เซอร์ ก็ทำให้ปัญหาได้รับการแก้ไขแล้วโดยผู้เขียนห้องสมุด
นักพัฒนาซอฟต์แวร์ที่ต้องการฟังก์ชันนี้ต้องพัฒนาโซลูชันของตนเอง ตัวอย่างเช่น ไลบรารีอย่าง Dexie.js จะใช้ตารางร่วมซึ่งเป็นฐานข้อมูลอื่นในการติดตามชื่อของฐานข้อมูล
เรานำฟีเจอร์นี้ออกจาก Chrome 60
ความตั้งใจที่จะเลิกใช้งาน | ตัวติดตาม Chromestatus | ข้อบกพร่อง Chromium