การเปลี่ยนแปลงต่อไปนี้จะมีผลกับ Chrome เวอร์ชันเบต้ารุ่นล่าสุดสำหรับ Android, ChromeOS, Linux, macOS และ Windows เว้นแต่จะระบุไว้เป็นอย่างอื่น ดูข้อมูลเพิ่มเติมเกี่ยวกับฟีเจอร์ที่ระบุไว้ที่นี่ผ่านลิงก์ที่ให้ไว้หรือจากรายการใน ChromeStatus.com Chrome 121 เป็นรุ่นเบต้า ณ วันที่ 6 ธันวาคม 2023 คุณดาวน์โหลดเวอร์ชันล่าสุดได้ที่ Google.com สำหรับเดสก์ท็อปหรือ Google Play Store สำหรับ Android
CSS
รุ่นนี้ได้เพิ่มฟีเจอร์ CSS ใหม่ 6 รายการ
การรับช่วงไฮไลต์ CSS
เมื่อใช้การรับช่วงไฮไลต์ CSS คลาสจำลองของไฮไลต์ CSS เช่น ::selection
และ ::highlight
จะรับพร็อพเพอร์ตี้ผ่านเชนไฮไลต์จำลอง แทนที่จะเป็นเชนองค์ประกอบ ผลที่ได้คือโมเดลที่รับช่วงต่อพร็อพเพอร์ตี้ในไฮไลต์ได้ง่ายขึ้น
ซึ่งเป็นไปตามข้อกำหนดจากข้อกำหนดจำเพาะของ CSS ระดับ 4 ดังนี้
"เมื่อการเรียงซ้อนไม่ได้ระบุค่าจากพร็อพเพอร์ตี้ที่รองรับ ... ค่าที่ระบุจะกำหนดโดยการสืบทอดองค์ประกอบจากองค์ประกอบเทียมไฮไลต์ที่สอดคล้องกันขององค์ประกอบระดับบนสุดขององค์ประกอบต้นฉบับ"
แถบเลื่อน CSS: scrollbar-color
และ scrollbar-width
ข้อกำหนดของแถบเลื่อน CSS ช่วยให้นักพัฒนาซอฟต์แวร์จัดรูปแบบแถบเลื่อนด้วยการระบุสีและความหนาได้ ข้อกำหนดนี้เพิ่มพร็อพเพอร์ตี้ 2 รายการต่อไปนี้ พร็อพเพอร์ตี้ scrollbar-color
ช่วยให้เปลี่ยนรูปแบบสีของแถบเลื่อนได้ เพื่อให้เข้ากับรูปแบบเฉพาะของหน้าเว็บมากขึ้น พร็อพเพอร์ตี้ scrollbar-width
ช่วยให้ใช้แถบเลื่อนที่แคบลงได้ซึ่งอาจเหมาะกับกรณีการใช้งานบางกรณีมากกว่า หรือแม้กระทั่งซ่อนแถบเลื่อนไปเลยก็ได้โดยไม่ส่งผลต่อความสามารถในการเลื่อน
ภาพเคลื่อนไหว CSS font-palette
สำหรับแบบอักษรสี
คุณสมบัติ CSS font-palette
ช่วยให้เลือกชุดสีเฉพาะซึ่งใช้แสดงผลแบบอักษรสีได้ ด้วยการสนับสนุนเพิ่มเติมใหม่สำหรับการทำให้คุณสมบัตินี้เคลื่อนไหว การเปลี่ยนระหว่างจานสีจะไม่เป็นขั้นตอนอย่างสิ้นเชิงอีกต่อไป แต่จะกลายเป็นการเปลี่ยนที่ราบรื่นระหว่างชุดสีที่เลือก 2 ชุด วิธีนี้ทำงานได้ทุกที่ในภาพเคลื่อนไหวและการเปลี่ยนภาพ CSS
ฟีเจอร์การสะกดและไวยากรณ์ CSS
CSS จะไฮไลต์องค์ประกอบจำลองสำหรับการจัดรูปแบบข้อความที่ User Agent แจ้งว่าสะกดผิดหรือผิดไวยากรณ์ และการตกแต่งเส้นจะทำให้การตกแต่งเริ่มต้นของ User Agent มีข้อผิดพลาดด้านการสะกดและไวยากรณ์ ฟีเจอร์เหล่านี้ช่วยให้นักพัฒนาแอปเลือกสีที่อ่านได้ชัดเจนมากขึ้นสำหรับข้อผิดพลาดด้านการสะกดและไวยากรณ์เริ่มต้น ไฮไลต์คำที่สะกดผิดด้วยสีพื้นหลังหรือการตกแต่งอื่นๆ รวมถึงใช้การตรวจตัวสะกดที่กำหนดเองซึ่งกลมกลืนไปกับประสบการณ์การใช้งานอุปกรณ์
การปรับปรุงการมาสก์ CSS สำหรับ SVG
นี่คือผลที่ตามมาจากการรองรับมาสก์ CSS ที่ได้รับการปรับปรุงใน Chrome 120 โดยเพิ่มการรองรับมาสก์แบบใหม่ให้กับ SVG (มาสก์หลายรายการ รวมถึง mask-mode
, mask-composite
, mask-position
และ mask-repeat
) และยังรองรับมาสก์ SVG ระยะไกล (เช่น mask: url(masks.svg#star)
) อีกด้วย
ค่าที่แสดงเฉพาะของ Ruby
เพิ่มค่าพร็อพเพอร์ตี้การแสดง CSS ใหม่ ruby
และ ruby-text
แล้ว ค่าที่แสดงเริ่มต้นของ <ruby>
และ <rt>
จะเปลี่ยนเป็น ruby
และ ruby-text
ตามลำดับ และเลย์เอาต์ Ruby จะยึดตามค่าการแสดงผลเหล่านี้ ผู้เขียนเว็บสามารถใช้องค์ประกอบใดก็ได้ เช่น <div>
เพื่อแสดงผล Ruby ด้วยการตั้งค่าการแสดงผลใหม่
API ของเว็บ
ชุดฟีเจอร์การรายงานการระบุแหล่งที่มา: ลดความล่าช้าโดยรวม, ฟิลด์ Epsilon รายงานระดับเหตุการณ์, คีย์ที่สงวนไว้
Chrome มีการเปลี่ยนแปลงใน Attribution Reporting API ที่มุ่งเน้นในเรื่องต่อไปนี้
- การลดการสูญเสียการส่งข้อมูลโดยการรองรับความล่าช้าของรายงานโดยรวมที่ลดลง
- กำหนดค่า API เพิ่มเติมได้ โดยรองรับช่อง epsilon การรายงานระดับเหตุการณ์
- ปรับปรุงการขยายการใช้งานของ API โดยการลงทะเบียนล้มเหลวเมื่อพบคีย์ที่จองไว้
Back-Forward Cache notRestoredReason API
notRestoredReason API จะรายงานรายการเหตุผลที่หน้าเว็บไม่แสดงจาก bfcache โดยใช้ PerformanceNavigationTiming API
ต้องใช้ท่าทางสัมผัสของผู้ใช้เพื่อปรับขนาด API ในการแสดงภาพซ้อนภาพในเอกสาร
การดำเนินการนี้จะเปิดใช้เมธอด resizeBy()
และ resizeTo()
ในหน้าต่างการแสดงภาพซ้อนภาพของเอกสาร แต่มีการจำกัดข้อกำหนดท่าทางสัมผัสของผู้ใช้เพิ่มเติมเพื่อลดโอกาสที่จะเกิดการละเมิด
API ของ EditContext
EditContext API ช่วยลดความซับซ้อนของขั้นตอนการผสานรวมเว็บแอปเข้ากับวิธีการป้อนข้อความขั้นสูง เช่น การเขียนรูปร่าง VK, แผงการเขียนด้วยลายมือ, การรู้จำคำพูด และองค์ประกอบ IME ปรับปรุงการช่วยเหลือพิเศษและประสิทธิภาพ รวมทั้งปลดล็อกความสามารถใหม่ๆ สำหรับเครื่องมือแก้ไขบนเว็บ
การตรวจหาฟีเจอร์สำหรับรูปแบบคลิปบอร์ดที่รองรับ
ตอนนี้คุณตรวจสอบได้ว่า Async Clipboard API รองรับ MIME บางประเภทหรือไม่โดยการเรียกใช้ฟังก์ชัน supports()
ใหม่ ซึ่งส่งผ่านประเภท MIME เป็นอาร์กิวเมนต์ เช่น ClipboardItem.supports('image/png')
HTMLSelectElement showPicker()
เมธอด showPicker()
ของ HTMLSelectElement ช่วยให้นักพัฒนาซอฟต์แวร์เปิดเครื่องมือเลือกตัวเลือกขององค์ประกอบ <select>
แบบเป็นโปรแกรมได้โดยใช้รูปแบบ input.showPicker()
MediaCapabilities: การค้นหา HDR ด้วย decodingInfo()
ขยาย Media Capabilities API เพื่ออนุญาตการตรวจจับการรองรับการแสดงผล HDR ผ่านช่องพจนานุกรม VideoConfiguration ใหม่ 3 ช่อง ได้แก่ hdrMetadataType, colorGamut, transferFunction
Chromium ใช้อัลกอริทึมการแมปโทนของตนเองเพื่อให้แสดงผลเป็น "จริง" เสมอสำหรับข้อมูลเมตาแบบคงที่ของ HDR10 (smpteSt2086) ส่วน smpteSt2094-40 (HDR10+) และข้อมูลเมตาแบบไดนามิก smpteSt2094-10 ยังไม่ได้รับการรองรับในปัจจุบัน ระบบจึงแสดงผลเป็น "เท็จ"
Private Aggregation API: การเลือกผู้ประสานงานการรวม
การแก้ไข Private Aggregation API นี้มีกลไกสำหรับเลือกผู้ประสานงานที่จะใช้สำหรับการเข้ารหัสเพย์โหลด (จากรายการที่อนุญาตที่ผู้ให้บริการระบุ) จะมีการทำการเลือกบริการโดยมีตัวเลือกเพิ่มเติมในการเรียก run()
และพื้นที่เก็บข้อมูลที่ใช้ร่วมกัน selectURL()
และในการเรียกใช้ runAdAuction()
และ joinAdInterestGroup()
ของ Protected Audience แนวทางกว้างๆ นั้นสอดคล้องกับ Attribution Reporting API เป็นส่วนใหญ่
API การเล่นระยะไกลบนเดสก์ท็อป
API นี้จะขยาย HTMLMediaElement
ที่เปิดใช้การควบคุมการเล่นสื่อจากระยะไกลจากหน้าเว็บ ซึ่งจัดส่งบน Android ใน Chrome 56 และพร้อมให้บริการบนเดสก์ท็อปจาก Chrome 121
API ของกฎการคาดเดา
มีฟีเจอร์ใหม่สำหรับ Speculation Rules API
การรองรับกฎเอกสาร: นี่คือส่วนขยายของไวยากรณ์กฎการคาดเดาที่ช่วยให้เบราว์เซอร์รับรายการ URL สำหรับการโหลดแบบคาดเดาจากองค์ประกอบ <a>
ในหน้าเว็บได้ โดยอาจมีเกณฑ์ว่าสามารถใช้ลิงก์ใดได้บ้าง เมื่อใช้ร่วมกับฟิลด์ "ความกระตือรือร้น" ใหม่สำหรับกฎการคาดเดา จะช่วยให้นักพัฒนาซอฟต์แวร์สามารถดึงลิงก์ล่วงหน้าหรือแสดงล่วงหน้าโดยอัตโนมัติในหน้าเว็บทันที ทั้งเมื่อวางเมาส์เหนือหรือเลื่อนเมาส์ลง
การเปลี่ยนแปลงที่แยกต่างหากช่วยให้ระบุกฎการคาดเดาโดยใช้ส่วนหัวการตอบกลับ HTTP Speculation-Rules
เป็นทางเลือกในการใช้องค์ประกอบ <script>
ในบรรทัดได้ ค่าของส่วนหัวนี้ต้องเป็น URL ที่ชี้ไปยังทรัพยากรข้อความที่มีประเภท MIME "application/speculationrules+json"
ระบบจะเพิ่มกฎทรัพยากรลงในชุดกฎของเอกสาร
สุดท้าย คำแนะนำ No-Vary-Search
จะช่วยให้การดึงข้อมูลล่วงหน้าแบบคาดเดาตรงกัน แม้ว่าพารามิเตอร์การค้นหาของ URL จะเปลี่ยนไปก็ตาม ส่วนหัวการตอบกลับ HTTP No-Vary-Search
จะประกาศว่าบางส่วนของคำค้นหา URL หนึ่งๆ จะถูกละเว้นเพื่อวัตถุประสงค์ในการจับคู่ได้ สามารถประกาศว่าลําดับของคีย์พารามิเตอร์การค้นหาไม่ควรป้องกันการจับคู่ พารามิเตอร์การค้นหาหนึ่งๆ ไม่ควรป้องกันการจับคู่ หรือพารามิเตอร์การค้นหาที่รู้จักบางรายการเท่านั้นที่ควรทําให้ข้อมูลไม่ตรงกัน
ออบเจ็กต์อินเทอร์เฟซ SpeechSynthesis และ SpeechSynthesisVoice
เพิ่มออบเจ็กต์อินเทอร์เฟซสำหรับ SpeechSynthesis
และ SpeechSynthesisVoice
ไปยังฟีเจอร์ที่รองรับอยู่แล้ว ซึ่งทำให้การตรวจหาฟีเจอร์โดยใช้ SpeechSynthesisVoice.prototype เป็นไปได้
API ที่เก็บข้อมูลของพื้นที่เก็บข้อมูล
ที่เก็บข้อมูลของพื้นที่เก็บข้อมูลทำให้เว็บไซต์สามารถจัดระเบียบข้อมูลในอุปกรณ์ออกเป็น "ที่เก็บข้อมูล" แยกต่างหาก ซึ่งทำให้ User Agent นำข้อมูลที่จัดกลุ่มไว้ออกไปแยกจากข้อมูลที่จัดกลุ่มไว้ในที่เก็บข้อมูลอื่นๆ ได้ และช่วยให้เว็บไซต์จัดการข้อมูลที่เกี่ยวข้องทางสัทศาสตร์ได้ ที่เก็บข้อมูลของพื้นที่เก็บข้อมูลแต่ละรายการอาจมีข้อมูลที่เชื่อมโยงกับ API พื้นที่เก็บข้อมูลที่มีอยู่แล้ว เช่น IndexedDB และ CacheStorage
URLPattern: รับค่าด้านซ้าย ไวลด์การ์ดไปทางขวา
ลักษณะการทำงานจะเปลี่ยนไปเป็นรูปแบบที่สร้างโดยใช้ URL พื้นฐาน ไวยากรณ์สตริงตัวสร้าง หรือทั้ง 2 อย่าง แต่ไม่ใช่รูปแบบที่ระบุคอมโพเนนต์แยกต่างหากอย่างชัดเจนโดยไม่มี URL ฐาน
คอมโพเนนต์จะไม่ได้รับการรับค่าจาก URL ฐานหากมีการระบุคอมโพเนนต์ "ก่อนหน้านี้" ไว้อย่างชัดแจ้ง ในรูปแบบสตริง คอมโพเนนต์ "ภายหลัง" ที่ไม่ได้ระบุจะใช้ไวลด์การ์ดโดยนัย แทนที่จะต้องเว้นว่างไว้ (ยกเว้นพอร์ต ซึ่งจะใช้เพื่อระบุเสมอเมื่อมีชื่อโฮสต์) ชื่อผู้ใช้และรหัสผ่านจะไม่ระบุหรือรับค่าโดยปริยาย
ซึ่งทำให้รูปแบบกว้างกว่าที่เคย ในกรณีที่ควรใช้ไวลด์การ์ด
URLPattern: RegExp v
แฟล็กแทน u
URL Pattern API ช่วยให้นักพัฒนาซอฟต์แวร์ระบุสตริงรูปแบบได้ คำเหล่านี้จะเปลี่ยนเป็นนิพจน์ทั่วไปภายใน
เมื่อใช้งาน API เป็นครั้งแรก ระบบจะคอมไพล์นิพจน์ทั่วไปเหล่านี้ด้วยแฟล็ก u
Chrome 121 จะอัปเดตเป็น Flag v
เพื่อเปิดใช้ชุด Unicode
การเพิ่มใน WebGPU
ขณะนี้ WebGPU ช่วยให้นักพัฒนาซอฟต์แวร์ละเว้นจุดเข้าของโมดูลตัวปรับแสงเงาได้เมื่อสร้างไปป์ไลน์ ซึ่งช่วยเสริมหลักการยศาสตร์ให้ดีขึ้น หากไม่พบจุดแรกเข้าเริ่มต้น ระบบจะทริกเกอร์ GPUValidationError ตามปกติ
การค้นหาการประทับเวลาของ WebGPU ช่วยให้แอปพลิเคชัน WebGPU สามารถวัดระยะเวลาที่คำสั่ง GPU ใช้ในการทำงานได้แม่นยำ (จนถึงระดับนาโนวินาที) โดยเฉพาะในตอนต้นและตอนท้ายของการส่ง เราใช้การค้นหาการประทับเวลาเป็นอย่างมากเพื่อรับข้อมูลเชิงลึกเกี่ยวกับประสิทธิภาพและลักษณะการทำงานของภาระงาน GPU
ในขณะที่ข้อกำหนด WebGPU ทำให้การค้นหาแบบประทับเวลาเป็นฟีเจอร์เสริมเนื่องจากข้อกังวลด้านการโจมตีเวลา แต่เราเชื่อว่าการวัดปริมาณของการค้นหาแบบประทับเวลาจะช่วยได้ในส่วนนี้โดยลดความแม่นยำของตัวจับเวลาที่มีความละเอียด 100 ไมโครวินาที
การห่อหุ้มคีย์ X25519Kyber768 สำหรับ TLS
ปกป้องการรับส่งข้อมูล TLS ของ Chrome ในปัจจุบันจากการเป็นการเข้ารหัสแบบควอนตัมในอนาคตด้วยการติดตั้งใช้งานอัลกอริทึมข้อตกลงเกี่ยวกับคีย์สำหรับการเข้ารหัสแบบควอนตัมของ Kyber768 นี่คือข้อตกลงเกี่ยวกับคีย์ X25519 + Kyber768 แบบไฮบริดตามมาตรฐาน IETF ข้อกำหนดและการเปิดตัวนี้อยู่นอกขอบเขตของ W3C ข้อตกลงคีย์นี้จะเปิดตัวเป็นการเข้ารหัส TLS และควรแจ้งให้ผู้ใช้ทราบอย่างโปร่งใส
ช่วงทดลองใช้จากต้นทางอยู่ระหว่างดำเนินการ
ใน Chrome 121 คุณจะเลือกใช้ช่วงทดลองใช้จากต้นทางใหม่ต่อไปนี้ได้
Element Capture API
Element Cache API มีวิธีบันทึกแผนผังย่อยของ DOM
เนื่องจาก MediaStreamTrack ของวิดีโอซึ่งได้รับมาจากวิธีการที่มีอยู่ก่อนแล้วในการเริ่มการจับภาพแท็บ การจับภาพองค์ประกอบจึงอนุญาตให้เปลี่ยนแปลงแทร็กเพื่อจับภาพซับทรีย่อยของ DOM โดยเริ่มจากองค์ประกอบที่ระบุเท่านั้น
API มีลักษณะบางส่วนที่คล้ายกับ Region Capture API แต่ให้ความยืดหยุ่นในการใช้งานมากกว่า เนื่องจากเนื้อหาที่บดบังและบดบังไม่ได้รวมอยู่ในการบันทึก
ลงทะเบียนช่วงทดลองใช้จากต้นทาง Elementจับภาพหน้าจอ
การเปลี่ยนแปลงลักษณะการทำงานที่มีอยู่
Chrome 121 มีการเปลี่ยนแปลงเกี่ยวกับลักษณะการทำงานแบบเดิมดังต่อไปนี้ เพื่อให้นักพัฒนาซอฟต์แวร์ทราบถึงการเปลี่ยนแปลงดังกล่าว
ทิ้งเหตุการณ์อินพุตไปยัง iframe แบบข้ามต้นทางที่เพิ่งย้าย
หาก iframe แบบข้ามต้นทางมีการย้ายภายในหน้าที่ฝังอยู่เมื่อเร็วๆ นี้ Chrome จะทิ้งเหตุการณ์ที่กำหนดเป้าหมาย iframe นั้นโดยไม่แจ้งให้ทราบ เหตุผลคือหากมีการย้าย iframe เมื่อเร็วๆ นี้ มีแนวโน้มว่าผู้ใช้ไม่ได้ตั้งใจจะคลิกหรือแตะที่ iframe
การเปลี่ยนแปลงนี้จัดส่งในรูปแบบที่จำกัดในปี 2019 โดยจะส่งผลกระทบเฉพาะกับ iframe ที่มีสคริปต์ที่ใช้ฟีเจอร์ IntersectionObserver เวอร์ชัน 2 (ซึ่งก็คือการตรวจจับการบังหรือเอฟเฟกต์) การเปิดตัวนี้จะขยายลักษณะการทำงานนี้ไปยัง iframe แบบข้ามต้นทางทั้งหมด และจะเริ่มเป็นการทดสอบแบบจำกัดใน Chrome 121 จากนั้นจึงจะเร่งการทำงาน