Chrome 132 เบต้า

เผยแพร่: 13 พฤศจิกายน 2024

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

CSS

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

การจัดตำแหน่งจุดยึด CSS: อนุญาต anchor-size() ในพร็อพเพอร์ตี้ inset และ margin

เดิมที anchor-size() อนุญาตให้ใช้ได้เฉพาะในพร็อพเพอร์ตี้การปรับขนาด มีการเปลี่ยนแปลงข้อกำหนดเพื่อให้ใช้ anchor-size() ในระยะขอบและระยะขอบแทรกได้ด้วย

โหมดการเขียนด้านข้างของ CSS

รองรับคีย์เวิร์ด sideways-rl และ sideways-lr สำหรับพร็อพเพอร์ตี้ writing-mode CSS sideways-rl และ sideways-lr มีประโยชน์ในการเขียนข้อความที่ไม่ใช่ภาษา CJK ในแนวตั้ง ซึ่งไม่มีลักษณะการทำงานที่เหมาะกับภาษา CJK เหมือนกับ vertical-rl และ vertical-lr

Web API

จับภาพทุกหน้าจอ

จับภาพหน้าจอทั้งหมดที่เชื่อมต่อกับอุปกรณ์ในปัจจุบันโดยใช้ getAllScreensMedia()

การเรียกใช้ getDisplayMedia() หลายครั้งต้องใช้ท่าทางของผู้ใช้หลายครั้ง ทำให้ผู้ใช้ต้องเลือกหน้าจอถัดไปทุกครั้ง และไม่รับประกัน ว่าแอปจะเลือกหน้าจอทั้งหมด วิธีของ getAllScreensMedia() ช่วยปรับปรุงในทุกด้านที่กล่าวมา

ฟีเจอร์นี้จะเปิดตัวบนเดสก์ท็อปเท่านั้น

เหตุการณ์การสลับกล่องโต้ตอบ

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

การเปลี่ยนแปลงนี้จะรวม ToggleEvent เดียวกันกับที่ป๊อปโอเวอร์ส่ง แต่สำหรับองค์ประกอบ <dialog> เมื่อมีการเรียกใช้ showModal หรือ show <dialog> จะส่ง ToggleEvent ที่มี newState=open เมื่อ<dialog>ปิด (ใช้แบบฟอร์ม ปุ่ม หรือ closewatcher) ควรส่งToggleEventพร้อมnewState=closed

การจับภาพองค์ประกอบ

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

API นี้มีความคล้ายคลึงกับ Region Capture API อยู่บ้าง แต่มีความยืดหยุ่นมากกว่าสำหรับแอปพลิเคชัน เนื่องจากระบบจะยกเว้นทั้งเนื้อหาที่บดบังและเนื้อหาที่ถูกบดบังจากการจับภาพ

ฟีเจอร์การให้สิทธิ์ FedCM

ซึ่งรวมฟีเจอร์บางอย่างที่ผู้ให้บริการข้อมูลประจำตัว (IdP) ใช้เพื่อใช้โฟลว์การให้สิทธิ์ได้ เช่น การอนุญาตให้ผู้ใช้ให้สิทธิ์เข้าถึงปฏิทินแก่ Relying Party (RP) ดังนี้

  • IdP ต้องแสดงข้อความแจ้งที่กำหนดเองสำหรับสิทธิ์ (API การดำเนินการต่อ) ได้
  • RP ต้องมีวิธีที่ขยายได้เพื่อสื่อสารกับ IdP ว่าต้องการเข้าถึงอะไร (API พารามิเตอร์)
  • RP ต้องปรับแต่งหรือระงับข้อความที่อ้างอิงถึงการแชร์ "ชื่อ อีเมล และรูปโปรไฟล์" ของ IdP ได้ เนื่องจากในกรณีนี้ RP ขอข้อมูลที่แตกต่างกัน (ฟิลด์ API)
  • IdP อาจต้องการใช้ปลายทางอื่นเพื่อใช้โฟลว์การให้สิทธิ์ (configURL หลายรายการ)
  • บัญชีบางบัญชีอาจมีสิทธิ์ใช้ขั้นตอนการตรวจสอบสิทธิ์และการให้สิทธิ์เพียงขั้นตอนเดียว จึงต้องมีวิธีแสดงบัญชีต่างๆ ใน 2 ขั้นตอน (Account Labels API)

FedCM Mode API และ Use Other Account API

ส่วนขยายใหม่ 2 รายการสำหรับ FedCM

  • โหมด: activeโหมดช่วยให้เว็บไซต์เรียกใช้ FedCM ภายในปุ่ม คลิก (เช่น การคลิกปุ่มลงชื่อเข้าใช้ IdP) ซึ่งต้องใช้ FedCM เพื่อรับประกันว่าจะตอบสนองด้วยอินเทอร์เฟซผู้ใช้ที่มองเห็นได้เสมอ การเรียกใช้ FedCM API ในโหมดที่ใช้งานอยู่จะนำผู้ใช้ไปยังหน้าเข้าสู่ระบบของผู้ให้บริการข้อมูลประจำตัว (IdP) เมื่อผู้ใช้ออกจากระบบ นอกจากนี้ เนื่องจากโหมดที่ใช้งานอยู่จะเรียกใช้ภายในท่าทางของผู้ใช้ที่ชัดเจน UI จึงโดดเด่นกว่า (เช่น อยู่ตรงกลางและเป็นโมดัล) เมื่อเทียบกับ UI จากโหมดพาสซีฟ (ซึ่งไม่จำเป็นต้องมีท่าทางของผู้ใช้และเรียกใช้ได้เมื่อโหลดหน้าเว็บ)
  • ใช้บัญชีอื่น: ส่วนขยายนี้ช่วยให้ IdP อนุญาตให้ผู้ใช้ลงชื่อเข้าใช้บัญชีอื่นๆ ได้

ดึงข้อมูล: Request.bytes() และ Response.bytes()

เพิ่มเมธอด bytes() ลงในอินเทอร์เฟซ Request และ Response ซึ่งจะแสดงผล Promise ที่แก้ไขด้วย Uint8Array แม้ว่า Request และ Response จะมีเมธอด arrayBuffer() แต่คุณก็อ่านจากบัฟเฟอร์โดยตรงไม่ได้ คุณต้อง สร้างมุมมอง เช่น Uint8Array เพื่ออ่าน เมธอด bytes() ช่วยปรับปรุง การยศาสตร์ในการรับเนื้อหาของคำขอและการตอบกลับ

การเข้าถึงระบบไฟล์สำหรับ Android และ WebView

API นี้ช่วยให้นักพัฒนาแอปสร้างแอปที่มีประสิทธิภาพซึ่งโต้ตอบกับแอปอื่นๆ (ที่ไม่ใช่เว็บ) ในอุปกรณ์ของผู้ใช้ได้โดยใช้ระบบไฟล์ของอุปกรณ์ หลังจากที่ผู้ใช้ ให้สิทธิ์เข้าถึงเว็บแอปแล้ว API นี้จะช่วยให้แอปอ่านหรือบันทึกการเปลี่ยนแปลง ลงในไฟล์และโฟลเดอร์ที่ผู้ใช้เลือกได้โดยตรง นอกเหนือจากการอ่านและเขียนไฟล์แล้ว API นี้ยังช่วยให้เปิดไดเรกทอรีและแสดงรายการเนื้อหา รวมถึงจัดเก็บแฮนเดิลของไฟล์และไดเรกทอรีใน IndexedDB เพื่อให้ เข้าถึงเนื้อหาเดียวกันได้ในภายหลัง

การเข้าถึงระบบไฟล์ที่เปิดตัวใน เดสก์ท็อปใน Chrome 86 และพร้อมใช้งานใน Android และ WebView ใน Chrome 132

ละเว้น Strict-Transport-Security สำหรับ localhost

Strict-Transport-Security ส่วนหัวการตอบกลับ (STS) อาจทำให้เกิดปัญหากับ เว็บเซิร์ฟเวอร์ localhost เนื่องจาก STS ใช้กับโฮสต์ทั้งหมดในทุกพอร์ต ซึ่ง ทำให้เกิดปัญหาความเข้ากันได้สำหรับนักพัฒนาเว็บที่ทดสอบในเครื่อง นอกจากนี้ ยัง ส่งผลกระทบต่อผู้ใช้ปลายทางที่ใช้แพ็กเกจซอฟต์แวร์ซึ่งมักจะเริ่มต้นเซิร์ฟเวอร์ เว็บ localhost ด้วยเหตุผลชั่วคราว เช่น การสื่อสารโทเค็นการตรวจสอบสิทธิ์ จากการเข้าสู่ระบบเว็บไปยังแพ็กเกจซอฟต์แวร์ในเครื่อง หากเครื่องรับในเครื่องตั้งค่า Strict-Transport-Securityในการตอบกลับ localhost ระบบจะใช้ค่านี้กับคำขอ localhost ทั้งหมด ที่ตามมาโดยไม่คำนึงถึงพอร์ต

Chrome 132 แก้ปัญหานี้ด้วยการไม่สนใจส่วนหัว Strict-Transport-Security ในการตอบกลับจาก URL ของ localhost

คอนเทนเนอร์เลื่อนที่โฟกัสได้ของแป้นพิมพ์

เราได้หยุดการเปิดตัวฟีเจอร์นี้ (จาก Chrome 130) เนื่องจาก การถดถอยด้านการช่วยเหลือพิเศษ เราได้แก้ไขปัญหานี้แล้วและจะเปิดตัวฟีเจอร์นี้ต่อไป ใน Chrome 132

รายการที่อนุญาตเริ่มต้นของนโยบายสิทธิ์ของ Private State Token API

การเข้าถึง Private State Token API จะได้รับการควบคุมโดยฟีเจอร์นโยบายสิทธิ์ Chrome 132 จะอัปเดตรายการที่อนุญาตเริ่มต้นสำหรับทั้งฟีเจอร์ private-state-token-issuance และ private-state-token-redemption จาก self เป็น * (อักขระไวด์การ์ด)

PushMessageData::bytes()

อินเทอร์เฟซ PushMessageData จะเลียนแบบอินเทอร์เฟซ Body ซึ่งได้รับการแก้ไข เมื่อต้นปีนี้ด้วยเมธอด bytes() ใหม่ ตามหลักการที่ว่าโดยทั่วไปแล้ว API ควรขายบัฟเฟอร์ไบต์เป็น Uint8Arrays Chrome 132 จะปรับให้สอดคล้องกับอินเทอร์เฟซ Body โดยการจัดเตรียมตัวช่วยเข้าถึง bytes() ในอินเทอร์เฟซ PushMessageData ด้วย

การค้นหาที่บันทึกไว้ใน sharedStorage.selectURL

sharedStorage.selectURL() ตอนนี้อนุญาตให้บันทึกและนำการค้นหามาใช้ซ้ำในระดับหน้าเว็บได้แล้ว โดยจะมีการเรียกเก็บเงินตามงบประมาณการโหลดต่อหน้า 2 รายการในครั้งแรกที่มีการเรียกใช้การค้นหาที่บันทึกไว้ แต่จะไม่เรียกเก็บเงินสำหรับการเรียกใช้การค้นหาที่บันทึกไว้ครั้งต่อๆ ไปในระหว่างการโหลดหน้าเว็บเดียวกัน ซึ่งทำได้ด้วยพารามิเตอร์ savedQuery ใน ตัวเลือกสำหรับ selectURL() ที่ตั้งชื่อการค้นหา

ส่งข้อยกเว้นสำหรับป๊อปโอเวอร์และกล่องโต้ตอบในเอกสารที่ไม่ได้ใช้งาน

ก่อนหน้านี้การเรียกใช้ showPopover() หรือ showModal() ในป๊อปโอเวอร์หรือกล่องโต้ตอบที่ อยู่ในเอกสารที่ไม่ได้ใช้งานจะล้มเหลวโดยไม่มีการแจ้งเตือน จะไม่มีการยกเว้นใดๆ เกิดขึ้น แต่เนื่องจากเอกสารไม่ได้ใช้งาน จึงจะไม่มีป๊อปโอเวอร์หรือกล่องโต้ตอบแสดง ตั้งแต่ Chrome 132 เป็นต้นไป สถานการณ์เหล่านี้จะทำให้เกิด InvalidStateError

WebAuthn Signal API

ช่วยให้ผู้ให้บริการ WebAuthn ส่งสัญญาณข้อมูลเกี่ยวกับข้อมูลเข้าสู่ระบบที่มีอยู่ กลับไปยังผู้ให้บริการพื้นที่เก็บข้อมูลเข้าสู่ระบบ เพื่อให้ระบบอัปเดตหรือนำข้อมูลเข้าสู่ระบบที่ไม่ถูกต้องหรือถูกเพิกถอน ออกจาก UI ของผู้ให้บริการและระบบได้

ดูข้อมูลเพิ่มเติมเกี่ยวกับ API ของ Signal สำหรับพาสคีย์ใน Chrome บนเดสก์ท็อป

WebGPU: การผสมพื้นผิวแบบลอยตัว 32 บิต

ฟีเจอร์ float32-blendable GPU ทำให้เท็กซ์เจอร์ GPU ที่มีรูปแบบ r32float, rg32float และ rgba32float ผสมกันได้

WebGPU: แสดง GPUAdapterInfo จาก GPUDevice

แอตทริบิวต์ adapterInfo ของ GPUDevice จะแสดง GPUAdapterInfo เดียวกันกับออบเจ็กต์ GPUAdapter

WebGPU: การใช้งานมุมมองของเท็กซ์เจอร์

เพิ่มฟิลด์ที่ไม่บังคับในการสร้างมุมมองเท็กซ์เจอร์ WebGPU เพื่อขอชุดย่อยของ แฟล็กการใช้งานจากเท็กซ์เจอร์ต้นทาง

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

การใช้งาน WebGPU ยังสามารถเพิ่มประสิทธิภาพการสร้างทรัพยากรระดับต่ำและ ปรับปรุงประสิทธิภาพเมื่อใช้มุมมองที่มีการใช้งานเฉพาะทางมากขึ้นได้ด้วย

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

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

Document-Isolation-Policy

Document-Isolation-Policy ช่วยให้เอกสารเปิดใช้ crossOriginIsolation ได้ด้วยตัวเองโดยไม่ต้องติดตั้งใช้งาน COOP หรือ COEP และไม่ว่าสถานะ crossOriginIsolation ของหน้าเว็บจะเป็นอย่างไรก็ตาม นโยบายนี้ได้รับการสนับสนุนโดยการแยกกระบวนการ นอกจากนี้ ทรัพยากรย่อยแบบข้ามโดเมนที่ไม่ใช่ CORS ของเอกสารจะ โหลดโดยไม่มีข้อมูลเข้าสู่ระบบ หรือจะต้องมีส่วนหัว CORP

คำแนะนำในการคอมไพล์ที่ชัดเจนด้วยความคิดเห็นแบบมีเวทมนตร์

ฟีเจอร์นี้ช่วยให้คุณแนบข้อมูลเกี่ยวกับฟังก์ชันที่ควรมีการแยกวิเคราะห์และคอมไพล์ล่วงหน้าในไฟล์ JavaScript ได้ ระบบจะเข้ารหัสข้อมูลเป็น ความคิดเห็นพิเศษ

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

Chrome เวอร์ชันนี้มีการเลิกใช้งานและการนำออกต่อไปนี้ ไปที่ ChromeStatus.com เพื่อดูรายการการเลิกใช้งานที่วางแผนไว้ การเลิกใช้งานปัจจุบัน และการนำออกก่อนหน้า

Chrome เวอร์ชันนี้จะนำฟีเจอร์ 2 รายการออก

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

นำ HTMLVideoElement API แบบเต็มหน้าจอที่มีคำนำหน้าออก

เลิกใช้งาน API แบบเต็มหน้าจอของ HTMLVideoElement ที่มีคำต่อท้ายจาก Chrome แล้ว

โดย Element.requestFullscreen() API ได้เข้ามาแทนที่ ซึ่งเปิดตัวครั้งแรกใน Chrome 71 โดยไม่มีคำนำหน้าในปี 2018 ตั้งแต่ปี 2024 เป็นต้นมา เบราว์เซอร์ส่วนใหญ่รองรับ API ที่ไม่มีคำนำหน้ามาหลายปีแล้ว

Chrome 132 จะนำรายการต่อไปนี้ออกจาก HTMLVideoElement

  • แอตทริบิวต์ webkitSupportsFullscreen
  • แอตทริบิวต์ webkitDisplayingFullscreen
  • วิธี webkitEnterFullscreen()
  • วิธี webkitExitFullscreen() โปรดสังเกตการใช้อักษรตัวพิมพ์ใหญ่ที่แตกต่างกันของ "S" ใน FullScreen
  • วิธี webkitEnterFullScreen()
  • วิธี webkitExitFullScreen()

ตอนนี้เมธอดเหล่านี้เป็นเพียงชื่อแทนสำหรับ API ที่ทันสมัยเท่านั้น การใช้งานลดลง อย่างต่อเนื่องในช่วงหลายปีที่ผ่านมา