Chrome 121 เบต้า

การเปลี่ยนแปลงต่อไปนี้จะมีผลกับ 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 จากนั้นจึงจะเร่งการทำงาน