Chrome 154 เบต้า

เผยแพร่เมื่อวันที่ 2 กันยายน 2569

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

CSS และ UI

โหมด scroll-marker-group ของ CSS

พร็อพเพอร์ตี้ scroll-marker-group ได้รับการปรับปรุงให้รองรับโหมดต่อไปนี้

  • links: ::scroll-marker-group ที่สร้างขึ้นจะทำงานในโหมด links ซึ่งทำหน้าที่เหมือนรายการการนำทาง นี่คือโหมดเริ่มต้นหากไม่ระบุ
  • tabs: ::scroll-marker-group ที่สร้างขึ้นจะทำงานในโหมด tabs ซึ่งทำหน้าที่เหมือนรายการแท็บ

แต่ละโหมดจะเปลี่ยนลำดับโฟกัสและลักษณะการทำงานด้านการช่วยเหลือพิเศษของ ::scroll-marker-group และ ::scroll-marker ตามรูปแบบ WAI-ARIA ดังนี้

  • โหมดลิงก์ (ค่าเริ่มต้น): จำลองเครื่องหมายการนำทางมาตรฐานร่วมกับ แองเคอร์ของส่วนย่อย ::scroll-marker-group จะมีบทบาท navigation และ ::scroll-marker องค์ประกอบจะมีบทบาท link องค์ประกอบ ::scroll-marker ทั้งหมดเป็นจุดหยุดแท็บตามลำดับ เมื่อมีการเปิดใช้งานเครื่องหมายลิงก์ โฟกัสจะย้ายไปยังองค์ประกอบเป้าหมาย
  • โหมดแท็บ: จำลองรูปแบบแท็บและทำหน้าที่เป็นพื้นฐานสำหรับ แคโรเซลแบบแท็บ ระบบจะกำหนดบทบาท tablist ให้กับ ::scroll-marker-group องค์ประกอบ ::scroll-marker จะทำหน้าที่เป็นบทบาท tab และองค์ประกอบต้นทางจะมีบทบาท tabpanel เฉพาะ ::scroll-marker ที่ใช้งานอยู่เท่านั้นที่จะทำหน้าที่เป็นจุดหยุดแท็บ โดยใช้ปุ่มลูกศรเพื่อไปยังเครื่องหมายต่างๆ เนื้อหาจากแท็บที่ไม่ได้ใช้งานจะซ่อนจากแผนผังการช่วยเหลือพิเศษ

text-decoration-inset ของ CSS

พร็อพเพอร์ตี้ text-decoration-inset ของ CSS จะควบคุมระยะห่างที่ขีดเส้นใต้ ขีดเส้นบน และขีดฆ่าจะเยื้องจากหรือขยายออกไปนอกขอบของข้อความ โดยรองรับค่า auto ความยาว และเปอร์เซ็นต์ รวมถึงไวยากรณ์แบบค่าเดียวและสองค่าสำหรับการตั้งค่าออฟเซ็ตเริ่มต้นและสิ้นสุด ซึ่งช่วยให้นักพัฒนาปรับระยะห่างของการตกแต่งและสร้างเอฟเฟกต์การแสดงผลด้วยการตกแต่งข้อความเนทีฟแทนการไล่ระดับสีพื้นหลังหรือองค์ประกอบเพิ่มเติม

text-decoration-skip-spaces ของ CSS

พร็อพเพอร์ตี้ text-decoration-skip-spaces ของ CSS จะควบคุมว่าเส้นตกแต่งข้อความ (เช่น ขีดเส้นใต้ ขีดเส้นบน และขีดฆ่า) จะข้ามอักขระช่องว่างหรือไม่ ซึ่งช่วยให้คุณป้องกันไม่ให้มีการวาดการตกแต่งใต้ช่องว่าง

แสดงลำดับชั้น CSSStyleValue ในบริบทของ Worker

ข้อมูลจำเพาะ CSS Typed OM จะแสดงลำดับชั้น CSSStyleValue ในขอบเขตส่วนกลางของ Worker ([Exposed=(Window, Worker, PaintWorklet, LayoutWorklet)]) แต่ก่อนหน้านี้ Blink จะแสดงเฉพาะ CSSStyleValue, CSSKeywordValue, CSSNumericValue, CSSUnitValue, และ CSSUnparsedValue ใน Window และ Worklet ด้วยเหตุนี้ ตัวสร้างเหล่านี้จึงไม่ได้กำหนดไว้ในบริบทของ Worker Chrome 154 จะแสดงตัวสร้างเหล่านี้ใน Worker ซึ่งสอดคล้องกับข้อมูลจำเพาะและเครื่องมือเบราว์เซอร์อื่นๆ

FontFace แอตทริบิวต์ width และตัวอธิบาย font-width

แสดงแอตทริบิวต์ width ใน FontFace และตัวอธิบาย @font-face font-width เป็นนามแฝงสำหรับ stretch และ font-stretch ซึ่งทำให้ Chromium สอดคล้องกับข้อมูลจำเพาะ CSS Font Loading และ CSS Fonts 4 ที่อัปเดตแล้ว คุณสามารถ ตรวจสอบหรือเริ่มต้นความกว้างของ Font Face ได้โดยใช้ FontFace.width และ font-width ของ CSS สลับกับ stretch และ font-stretch

การปรับปรุงการปิดอย่างรวดเร็วสำหรับป๊อปโอเวอร์และกล่องโต้ตอบ

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

ตอนนี้เบราว์เซอร์ใช้เหตุการณ์ click เพื่อทริกเกอร์การปิดอย่างรวดเร็วแทนการใช้เหตุการณ์ pointerdown และ pointerup ร่วมกัน

<iframe> ที่มีขนาดปรับเปลี่ยนตามอุปกรณ์

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

JavaScript

includes ของ Iterator

ข้อเสนอ TC39 ที่เพิ่มเมธอด includes() ลงใน Iterator ซึ่งช่วยให้คุณตรวจสอบได้ ว่า Iterator ให้ค่าที่กำหนดหรือไม่ ซึ่งคล้ายกับ Array.prototype.includes()

Web API

เพิ่มชุดตัวเลือกไปยังเครื่องมือสร้าง WebSocket

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

ก่อนหน้านี้มีการเขียนดังนี้

const socket = new WebSocket("wss://example.com:8080", "soap");

เมื่อมีการเปลี่ยนแปลงนี้ คุณยังเขียนได้ดังนี้

const socket = new WebSocket("wss://example.com:8080", { protocols: "soap" });

การอัปเดตอัลกอริทึมใน WebCrypto

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

  • ML-KEM (768, 1024)
  • ML-DSA (44, 65, 87)
  • ChaCha20-Poly1305
  • X-Wing

การบังคับใช้ CORS สำหรับการดึงข้อมูลในเบื้องหลัง

ตอนนี้ Background Fetch API บังคับใช้กลไกการแชร์ทรัพยากรข้ามโดเมน (CORS)

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

Fetch API: ส่งต่อเหตุผลจาก AbortController ไปยัง Response ของ Fetch

แสดงเหตุผลในการยกเลิก (หากมี) ไปยังเมธอดของออบเจ็กต์ Response และ ReadableStream ของออบเจ็กต์นั้น แทนที่จะแสดงเฉพาะ Promise ของ fetch ซึ่งทำให้ Chrome สอดคล้องกับมาตรฐาน โดยแสดงเหตุผลในการยกเลิกที่นักพัฒนาแอประบุไว้ในทุกที่ที่ต้องการ

การจำกัดสิทธิ์เข้าถึงเครือข่ายภายในสำหรับการดึงข้อมูลในเบื้องหลัง

คำขอ Background Fetch กำหนดให้ต้นทางของ Service Worker ต้องมีสิทธิ์การเข้าถึงเครือข่ายภายใน (LNA) ที่จำเป็นเพื่อส่งคำขอไปยังเซิร์ฟเวอร์ภายในหรือเซิร์ฟเวอร์ Loopback

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

สำหรับองค์กร คุณสามารถใช้นโยบายองค์กร LNA ที่มีอยู่ได้ในลักษณะเดียวกับที่เคยใช้สำหรับคำขอ Fetch API ปกติจาก Service Worker ดังนี้

วิธีการแทรกและสตรีมมิง HTML ที่ปรับปรุงใหม่

แสดงเมธอดการตั้งค่า HTML หลายรายการที่ให้แนวทางที่สอดคล้องกันสำหรับการแทรกมาร์กอัปลงในเอกสารที่มีอยู่แบบไดนามิก ดังนี้

  • เมธอดเชิงตำแหน่ง (before(), after(), append(), prepend() และ replaceWith()) ที่ใช้ HTML เป็นอาร์กิวเมนต์ ซึ่งจะแทนที่ insertAdjacentHTML()
  • เมธอดสตรีมมิง (streamAppendHTML(), streamAppendHTMLUnsafe() และเมธอดที่เกี่ยวข้อง) ซึ่งแสดงผล WritableStream
  • การส่ง {runScripts} เป็นส่วนหนึ่งของ SetHTMLUnsafeOptions ซึ่งตรงกับลักษณะการทำงานของ createContextualFragment
  • การรองรับ createParserOptions ใน Trusted Types ซึ่งช่วยให้ Trusted Types ลบล้างโหมดการเขียนสคริปต์และ Sanitizer ได้

การยืนยันการชำระเงินที่ปลอดภัย: การตรวจสอบความถูกต้องของภาษา

อัปเดตช่องข้อมูล locale ของการยืนยันการชำระเงินที่ปลอดภัยให้แสดงผล DOMException ของ NotSupportedError หากไม่มีแท็กภาษาที่ระบุไว้ในช่องตรงกับภาษาที่กล่องโต้ตอบการยืนยันการชำระเงินที่ปลอดภัยใช้ หากไม่ได้ตั้งค่าช่องหรือช่องว่างเปล่า ระบบจะข้ามการตรวจสอบความถูกต้องนี้

ซึ่งช่วยให้ภาษาของข้อมูลที่ระบุในการยืนยันการชำระเงินที่ปลอดภัยตรงกับภาษาของกล่องโต้ตอบ

รองรับตัวเลือก targetAddressSpace สำหรับ WebSocket

เพิ่มการรองรับการส่งผ่านตัวเลือก targetAddressSpace ในตัวสร้าง WebSocket ซึ่งช่วยให้คุณระบุได้ว่าการเชื่อมต่อ WebSocket กับชื่อโฮสต์สาธารณะควรได้รับการปฏิบัติเสมือนเป็นการเชื่อมต่อกับปลายทาง "ภายใน" หรือ "Loopback" ซึ่งตรงกับการรองรับที่มีอยู่ใน Fetch API กรณีการใช้งานหลักคือการข้ามข้อจำกัดของเนื้อหาแบบผสมเมื่อเชื่อมต่อกับเซิร์ฟเวอร์ภายในที่ไม่รองรับ HTTPS เนื่องจากสิทธิ์การเข้าถึงเครือข่ายภายในกำหนดให้ต้องมีบริบทที่ปลอดภัย

ตัวอย่างเช่น เว็บไซต์สาธารณะที่เชื่อมต่อกับเซิร์ฟเวอร์ภายในสามารถใช้ชื่อโฮสต์แทนการกำหนดค่าที่อยู่ IP ส่วนตัวที่แน่นอนด้วยตนเองได้ ดังนี้

const ws = new WebSocket("ws://local-server.example", { targetAddressSpace: "local" });

ซึ่งจะตั้งค่าสถานะการเชื่อมต่อ WebSocket ว่าเป็นการเชื่อมต่อกับที่อยู่ภายใน โดยข้ามการบล็อกเนื้อหาแบบผสมเมื่อเรียกใช้ในบริบทที่ปลอดภัย ผู้ใช้ต้องให้สิทธิ์เครือข่ายภายในแก่เว็บไซต์เพื่อให้การเชื่อมต่อ WebSocket สำเร็จ และชื่อโฮสต์ต้องได้รับการแก้ไขเป็นที่อยู่ IP ภายใน (มิฉะนั้นระบบจะบล็อก)

ฟีเจอร์นี้สร้างขึ้นจากพจนานุกรมตัวเลือกที่เพิ่มลงในตัวสร้าง WebSocket

WebGPU: ความลึกของ Fragment ใน WGSL

เพิ่มความสามารถในการระบุตัวแก้ไข less หรือ greater ให้กับ @builtin(frag_depth) ใน WGSL

การใช้ @builtin(frag_depth) โดยไม่มีตัวปรับแต่งอาจทำให้ประสิทธิภาพลดลงเนื่องจากปิดใช้การเพิ่มประสิทธิภาพ early-Z ในคำสั่งประมวลผล ตัวแก้ไขใหม่ช่วยให้ตั้งค่าโหมดบัฟเฟอร์ได้อย่างชัดเจน ซึ่งจะช่วยให้ใช้การเพิ่มประสิทธิภาพ early-Z ได้

Window Shape API

Window Shape API ช่วยให้ Isolated Web Apps ที่อยู่ในรายการที่อนุญาตใน ChromeOS สามารถใช้หน้าต่างที่มีรูปร่างกำหนดเองได้ การเปิดใช้เลย์เอาต์หน้าต่างที่ไม่เป็นรูปสี่เหลี่ยมผืนผ้าและไม่เป็นพื้นที่ต่อเนื่องช่วยให้นักพัฒนาแอปสามารถสร้างประสบการณ์การใช้งาน เช่น วิดเจ็ต แผงแบบลอย และการซ้อนทับที่ตรงกับลักษณะที่ปรากฏของแอปพลิเคชันแบบเนทีฟ เมธอด window.setShape() กำหนดให้หน้าต่างต้องอยู่ในโหมดการแสดงผล unframed และต้องได้รับสิทธิ์ window-management

ผู้ดูแลระบบจัดการฟีเจอร์นี้ได้ด้วยนโยบายที่มีอยู่สำหรับการจัดการหน้าต่าง ดังนี้

  • DefaultWindowManagementSetting กำหนดค่าสถานะเริ่มต้นของการจัดการหน้าต่างสำหรับแอปทั้งหมด
  • WindowManagementAllowedForUrls อนุญาตให้ IWA ที่มีต้นทางที่ระบุเข้าสู่โหมดไม่มีเฟรมและตั้งค่ารูปร่างหน้าต่างที่กำหนดเองโดยไม่ต้องมีการโต้ตอบของผู้ใช้
  • WindowManagementBlockedForUrls บล็อกสิทธิ์สำหรับต้นทางที่ระบุไว้ ทำให้ Chrome ต้องนำรูปร่างหน้าต่างที่กำหนดเองออกและเปลี่ยนไปใช้โหมดการแสดงผลอื่นๆ ที่พร้อมให้ใช้งาน

ช่วงทดลองใช้จากต้นทางใหม่

ใน Chrome 154 คุณสามารถเลือกเข้าร่วมช่วงทดลองใช้จากต้นทางใหม่ต่อไปนี้ได้ ช่วงทดลองใช้จากต้นทาง

โทเค็นการยืนยันส่วนตัว

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