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

Joe Medley
Joe Medley

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

การเข้ารหัสที่อิงตาม DHE กำลังจะหยุดให้บริการ

สรุป: ระบบจะนำการเข้ารหัสที่อิงตาม DHE ออกจาก Chrome 53 บนเดสก์ท็อปเนื่องจากไม่เพียงพอสำหรับการใช้งานในระยะยาว เซิร์ฟเวอร์ควรใช้ ECDHE หากมี หรือใช้การเข้ารหัส RSA แบบธรรมดาหากไม่มี

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

เมื่อปีที่แล้ว เราได้เพิ่มขนาดกลุ่ม TLS Diffie-Hellman ขั้นต่ำของ Chrome จาก 512 บิตเป็น 1024 บิต แต่ขนาด 1024 บิตนั้นไม่เพียงพอสำหรับการใช้งานในระยะยาว เมตริกรายงานว่าการเชื่อมต่อ DHE ประมาณ 95% ที่ Chrome พบใช้ DHE 1024 บิต ปัญหานี้ประกอบกับการเจรจา DHE ใน TLS ทำให้การขยายขนาดเกิน 1024 บิตเป็นเรื่องยาก

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

การเข้ารหัสที่อิงตาม DHE ถูกเลิกใช้งานแล้วตั้งแต่ Chrome 51 เราจะหยุดรองรับในเดสก์ท็อปใน Chrome 53

คำเตือนการเลิกใช้งาน FileError

สรุป: เราคาดว่าจะนำอินเทอร์เฟซ FileError ที่เลิกใช้งานแล้วออกใน Chrome 54 แทนที่การอ้างอิงไปยัง err.code ด้วย err.name และ err.message

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

มาตรฐาน File API เวอร์ชันปัจจุบันไม่มีอินเทอร์เฟซ FileError และเราได้เลิกใช้งานการรองรับอินเทอร์เฟซนี้ไปเมื่อประมาณปี 2013 ใน Chrome 53 ระบบจะพิมพ์คำเตือนการเลิกใช้งานนี้ไปยังคอนโซลเครื่องมือสำหรับนักพัฒนาเว็บ:

เราเลิกใช้งาน "FileError" แล้วและจะนำออกใน M54 โปรดใช้แอตทริบิวต์ "ชื่อ" หรือ "ข้อความ" ของข้อผิดพลาดแทน "รหัส"

ซึ่งจะมีผลแตกต่างกันไปตามบริบท

  • FileReader.error และ FileWriter.error จะเป็นวัตถุ DOMException แทนที่จะเป็น FileError วัตถุ
  • สำหรับการเรียก FileSystem แบบไม่พร้อมกัน ระบบจะส่งต่อ ErrorCallback จาก FileError.ErrorCode แทน FileError
  • สําหรับการเรียก FileSystem แบบซิงค์ ระบบจะแสดงข้อยกเว้น FileError.ErrorCode แทน FileError

การเปลี่ยนแปลงนี้จะส่งผลต่อโค้ดที่ใช้การเปรียบเทียบโค้ดของอินสแตนซ์ข้อผิดพลาด (e.code) กับค่า enum ของ FileError โดยตรง (FileError.NOT_FOUND_ERR ฯลฯ) โค้ดที่ทดสอบกับค่าคงที่แบบฮาร์ดโค้ด (เช่น e.code === 1) อาจไม่ผ่านการตรวจสอบเนื่องจากรายงานข้อผิดพลาดที่ไม่ถูกต้องให้ผู้ใช้ทราบ

แต่โชคดีที่ข้อผิดพลาดประเภท FileError, DOMError และ DOMException ทั้งหมดใช้พร็อพเพอร์ตี้ name และ message ร่วมกัน ซึ่งตั้งชื่อให้สอดคล้องกับกรณีข้อผิดพลาด (หรือที่เรียกว่า e.name === "NotFoundError") โค้ดควรใช้พร็อพเพอร์ตี้เหล่านั้นแทน ซึ่งจะใช้งานได้ในเบราว์เซอร์ต่างๆ และยังคงใช้งานได้ต่อไปเมื่อนำอินเทอร์เฟซ FileError ออกแล้ว

การนํา FileError ออกคาดว่าจะเกิดขึ้นใน Chrome 54

นำแอตทริบิวต์ results ออกสําหรับ <input type=search>

สรุป: ระบบจะนำแอตทริบิวต์ results ออกเนื่องจากไม่ได้อยู่ในมาตรฐานใดๆ และใช้งานอย่างไม่สอดคล้องกันในเบราว์เซอร์ต่างๆ

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

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

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

    input[type=search] {
      background: url(some-great-icon.png) no-repeat scroll 15px 15px;
      padding-left:30px;
    }
 ```   

This attribute has been deprecated since Chrome 51.