Chrome 122 เบต้า

การเปลี่ยนแปลงต่อไปนี้จะมีผลกับ Chrome เวอร์ชันเบต้ารุ่นล่าสุดสำหรับ Android, ChromeOS, Linux, macOS และ Windows เว้นแต่จะระบุไว้เป็นอย่างอื่น ดูข้อมูลเพิ่มเติมเกี่ยวกับฟีเจอร์ต่างๆ ที่ระบุไว้ที่นี่ผ่านลิงก์ที่ให้ไว้หรือจากรายการใน ChromeStatus.com โดย Chrome 122 เป็นรุ่นเบต้า ณ วันที่ 24 มกราคม 2024 คุณดาวน์โหลดเวอร์ชันล่าสุดได้ที่ Google.com สำหรับเดสก์ท็อปหรือ Google Play Store ใน Android

CSS

โดยรุ่นนี้ได้เพิ่มฟีเจอร์ CSS ใหม่ 3 รายการ

การค้นหา CSS @container กับฟีเจอร์ที่ไม่รองรับไม่ตรงกัน

ตัวเลือก @container ที่มีคำค้นหาที่ไม่รองรับจะไม่เลือกคอนเทนเนอร์เลย ซึ่งหมายความว่าจะไม่มีการจับคู่ที่ตรงกัน

ซึ่งหมายความว่าการค้นหานี้จะไม่ตรงกับคอนเทนเนอร์ใดๆ แม้ว่าจะมีคอนเทนเนอร์ขนาดที่ตรงกับการค้นหาแบบความกว้างด้วยก็ตาม ตัวอย่างเช่น ข้อความค้นหาต่อไปนี้ จะไม่ตรงเลยเนื่องจากคุณลักษณะที่ไม่รู้จัก:

@container (width > 0px) or (unknown) {}

นี่เป็นการเปลี่ยนแปลงข้อกำหนดล่าสุดเพื่อหลีกเลี่ยงปัญหาความเข้ากันได้ในอนาคต

องค์ประกอบเทียมของ CSS ::backdrop ที่รับช่วงมาจากองค์ประกอบต้นทาง

องค์ประกอบเทียม ::backdrop ที่ใช้รับค่าจากค่าเริ่มต้น ซึ่งหมายความว่า ::backdrop จะใช้ค่าพร็อพเพอร์ตี้ที่กำหนดเองไม่ได้ เว้นแต่จะระบุในกฎ ::backdrop โดยตรง ตอนนี้มีการเปลี่ยนแปลงข้อกำหนดเพื่อให้ ::backdrop รับค่ามาจากองค์ประกอบต้นทาง การเปลี่ยนแปลงนี้จะทำให้การใช้งาน Chrome เป็นไปตามข้อกำหนดใหม่

เงื่อนไข supports() ของ CSS สำหรับ @import

@import ยอมรับเงื่อนไข supports() แล้ว หากเงื่อนไข supports() ไม่ตรงกัน ระบบจะไม่ดึงข้อมูลการนําเข้า

@import "scroll-driven-animations.css" supports(animation-timeline: auto);

การค้นหาฟีเจอร์ที่จะใส่ลงใน supports() จะเหมือนกับการค้นหาฟีเจอร์ที่ใช้กับ @supports

API ของเว็บ

Async Clipboard API: อ่าน HTML ที่ไม่ผ่านการตรวจสอบ

เพิ่มตัวเลือก unsanitized ในเมธอด read() เพื่อรับรูปแบบ HTML ที่ไม่ผ่านการตรวจสอบ ระบบจะล้างข้อมูลที่อ่านจากคลิปบอร์ดออก เว้นแต่ว่าเว็บไซต์จะมีพร็อพเพอร์ตี้นี้

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

อย่าลบออบเจ็กต์ชนิดของไฟล์ใน dataTransfer.clearData()

อัปเดต Chrome ให้ตรงกับspec ซึ่งระบุว่า clearData() ไม่ส่งผลกระทบต่อออบเจ็กต์ไฟล์ การดำเนินการนี้จะลบออบเจ็กต์ประเภท text เท่านั้น

FedCM: ตัดการเชื่อมต่อ

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

การยกเลิกเหตุการณ์เมาส์ดาวน์ที่ทำงานร่วมกันใน iframe

ทำให้เหตุการณ์ของเมาส์กำหนดเป้าหมายเป็นการยกเลิกเหตุการณ์เมาส์ลงได้เมื่อมีการลากตัวชี้ออกจาก iframe เมื่อมีการลากเมาส์ออกจาก iframe เบราว์เซอร์ทั้งหมด (รวมถึง Chrome) จะส่งเหตุการณ์ mousemove และ mouseup ไปยัง iframe อย่างไรก็ตาม หากเหตุการณ์เมาส์ดาวน์ถูกยกเลิก Chrome จะคงข้อยกเว้น WebKit แบบเก่าไว้ซึ่งระบบจะส่งเหตุการณ์การเลื่อนเมาส์และการเพิ่มไปยังเฟรมด้านนอก WebKit ได้นำข้อยกเว้นนี้ออกเมื่อปีที่แล้วและ Mozilla ไม่เคยแสดงลักษณะการทำงานนี้เลยในช่วงไม่กี่ปีที่ผ่านมา ฟีเจอร์นี้จะนำข้อยกเว้นเฉพาะ Chrome ออกสำหรับกรณีพิเศษนี้

ตัวช่วย Iterator

ตัวช่วยเหลือ Iterator คือวิธีการใหม่ๆ ในต้นแบบตัววนซ้ำเพื่อช่วยให้ใช้งานและใช้ประโยชน์จากตัวทำซ้ำได้โดยทั่วไป

MessagePort.onclose

การเปลี่ยนแปลง Channel Messaging API ที่เป็นการแจ้งหนึ่งใน MessagePorts ว่าพอร์ตอื่นมีความคลาดเคลื่อน ซึ่งเรียกว่า close(), เอกสารที่ค้างชำระถูกทำลาย หรือพอร์ตเป็นขยะ

ส่วนขยาย RTCRtpSender setParameters() สำหรับขอการสร้างคีย์เฟรม

เพิ่มพารามิเตอร์ที่ 2 (ไม่บังคับ) ลงในการเรียกใช้ RTCRtpSender.setParameters ของ WebRTC ซึ่งสามารถใช้เพื่อขอให้โปรแกรมเปลี่ยนไฟล์ที่เชื่อมโยงสร้างคีย์เฟรมได้

ตั้งค่าวิธี

เมธอด Set คือเมธอดใหม่ เช่น การรวมและทางแยกที่เพิ่มลงในคลาส Set ในตัวของ JavaScript

API ที่เก็บข้อมูลของพื้นที่เก็บข้อมูล

ที่เก็บข้อมูลของพื้นที่เก็บข้อมูลช่วยให้เว็บไซต์จัดระเบียบข้อมูลในอุปกรณ์เป็น "ที่เก็บข้อมูล" แยกต่างหากได้ โดยทำให้ User Agent สามารถนำข้อมูลที่จัดกลุ่มออกได้อย่างอิสระจากข้อมูลที่จัดกลุ่มอยู่ในที่เก็บข้อมูลอื่นๆ และช่วยให้เว็บไซต์จัดการข้อมูลที่เกี่ยวข้องทางหลักสรีรศาสตร์ได้ ที่เก็บข้อมูลของพื้นที่เก็บข้อมูลแต่ละรายการอาจมีข้อมูลที่เชื่อมโยงกับ API พื้นที่เก็บข้อมูลที่มีอยู่แล้ว เช่น IndexedDB และ CacheStorage

URLPattern: hasRegExpGroups

อนุญาตให้ตรวจสอบว่า URLPattern ใช้กลุ่มนิพจน์ปกติ ECMAScript อย่างน้อย 1 กลุ่มหรือไม่ ดังนั้นจึงอาจไม่เหมาะสำหรับการใช้งานในกรณีที่เครื่องมือ ECMAScript ไม่พร้อมใช้งาน (เช่น API ที่วางแผนไว้บางรายการที่จะเปิดตัว) หากพูดให้ชัดๆ แล้ว ข้อมูลนี้สะท้อนถึงสิ่งที่นักพัฒนาซอฟต์แวร์น่าจะรู้อยู่แล้วจากการตรวจสอบรูปแบบ แต่การมีสิทธิ์เข้าถึงการนำการตรวจสอบนี้ของ UA ไปใช้จะช่วยให้ทำได้ง่ายขึ้น

การวาดภาพ BufferStorage ของ WebGL

WebGL ช่วยให้แสดงผลเป็นพื้นผิวและบัฟเฟอร์การแสดงภาพของรูปแบบพิกเซลต่างๆ มากมาย ตัวอย่างเช่น 8 บิต, จุดลอยตัว และเข้ารหัส sRGB

บัฟเฟอร์ภาพวาดของ WebGL (บัฟเฟอร์ที่ส่งไปยังอุปกรณ์ประกอบภาพ) จะมีขนาด 8 บิตโดยค่าเริ่มต้น คุณลักษณะDrawBufferStorage ช่วยให้ WebGL สามารถกำหนดค่ารูปแบบพิกเซลของบัฟเฟอร์ภาพวาดนี้เพื่อช่วยให้นักพัฒนาซอฟต์แวร์ทำสิ่งต่อไปนี้ได้

  • หลีกเลี่ยงการคัดลอกเพิ่มเติมเมื่อแปลงการแสดงผลเป็นรูปแบบพิกเซลบัฟเฟอร์ของภาพวาดเริ่มต้น
  • วาดเนื้อหาที่มีความแม่นยำมากกว่า 8 บิต

ฟีเจอร์หลังจะปลดล็อกแอปพลิเคชันเพิ่มเติมหลายรายการ ได้แก่

  • เนื้อหาขอบเขตสีที่กว้างมากโดยไม่สูญเสียความแม่นยํา
  • การใช้งานทางการแพทย์ที่ต้องการความแม่นยำมากกว่า 8 บิต
  • แอปพลิเคชันแบบ High Dynamic Range (หากมี)

การห่อหุ้มคีย์ X25519Kyber768 สำหรับ TLS

ปกป้องการรับส่งข้อมูล TLS ของ Chrome ในปัจจุบันจากการเป็นการเข้ารหัสแบบควอนตัมในอนาคตโดยการทำให้อัลกอริทึมข้อตกลงเกี่ยวกับคีย์ที่ทนทานทางควอนตัมของ Kyber768 ใช้งานได้ นี่คือข้อตกลงเกี่ยวกับคีย์ X25519 แบบไฮบริด + Kyber768 ตามมาตรฐาน IETF ข้อกำหนดและการเปิดตัวนี้อยู่นอกขอบเขตของ W3C ข้อตกลงหลักนี้จะเริ่มใช้เป็นการเข้ารหัส TLS และควรแจ้งให้ผู้ใช้ทราบอย่างโปร่งใส

ช่วงทดลองใช้จากต้นทางอยู่ระหว่างดำเนินการ

ใน Chrome 122 คุณจะเลือกใช้ช่วงทดลองใช้จากต้นทางใหม่ต่อไปนี้ได้

ส่วนขยายขอบเขตเว็บแอป

คุณกำหนดขอบเขตเว็บแอป (กำหนดโดยช่องขอบเขต) ได้ด้วยเส้นทางจากต้นทางเดียว แอตทริบิวต์ที่ใช้ในการระบุว่าเอกสารปัจจุบันของหน้าต่างแอปเป็นส่วนหนึ่งของแอปหรือไม่ และยังกำหนด URL ที่อนุญาตให้ใช้ได้ในสมาชิกไฟล์ Manifest อื่นๆ ด้วย

scope_extensions ช่วยให้นักพัฒนาแอปขยายลักษณะการทำงานของแอปให้ครอบคลุมต้นทางอื่นๆ ได้ หากมีข้อตกลงระหว่างต้นทางหลักของเว็บแอปกับต้นทางที่เกี่ยวข้อง

ลงทะเบียนทดลองใช้ส่วนขยายขอบเขตเว็บแอปจากต้นทาง

การควบคุมพื้นผิวที่บันทึกแล้ว

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

ลงทะเบียนทดลองใช้ต้นทางการควบคุมแพลตฟอร์มที่บันทึก