การเพิ่ม API การจับภาพหน้าจอ การประมาณค่าพร็อพเพอร์ตี้ CSS grid-template และอื่นๆ
การเปลี่ยนแปลงที่อธิบายไว้ด้านล่างจะมีผลกับการเผยแพร่ช่องเบต้าของ Chrome เวอร์ชันล่าสุดสำหรับ Android, ChromeOS, Linux, macOS และ Windows เว้นแต่จะระบุไว้เป็นอย่างอื่น ดูข้อมูลเพิ่มเติมเกี่ยวกับฟีเจอร์ที่ระบุไว้ที่นี่ได้ผ่านลิงก์ที่ให้ไว้หรือจากรายการใน ChromeStatus.com Chrome 107 เป็นเวอร์ชันเบต้า ณ วันที่ 29 กันยายน 2022 คุณดาวน์โหลดเวอร์ชันล่าสุดได้ที่ Google.com สำหรับเดสก์ท็อป หรือใน Google Play Store บน Android
การประมาณค่าพร็อพเพอร์ตี้ CSS grid-template
ใน CSS Grid พร็อพเพอร์ตี้ grid-template-columns และ grid-template-rows ช่วยให้นักพัฒนาซอฟต์แวร์กำหนดชื่อเส้นและขนาดของคอลัมน์และแถวของกริดได้ตามลำดับ ขอขอบคุณผู้ร่วมให้ข้อมูลที่ Microsoft ตอนนี้เรารองรับการประมาณค่าระหว่างจุดสำหรับพร็อพเพอร์ตี้เหล่านี้แล้ว ตอนนี้เลย์เอาต์ตารางกริดสามารถเปลี่ยนสถานะได้อย่างราบรื่นแทนที่จะเปลี่ยนที่จุดกึ่งกลางของภาพเคลื่อนไหวหรือการเปลี่ยน
การควบคุมการแชร์หน้าจอที่รักษาความเป็นส่วนตัว
Screen Capture API จะเพิ่มฟีเจอร์ลงใน Media Capture and Streams API ที่มีอยู่เพื่อให้ผู้ใช้เลือกหน้าจอหรือบางส่วนของหน้าจอ (เช่น หน้าต่าง) เพื่อจับภาพเป็นสตรีมสื่อได้ จากนั้นคุณจะบันทึกสตรีมนี้หรือแชร์กับผู้อื่นผ่านเครือข่ายก็ได้ ในเวอร์ชันเบต้านี้ เราได้เพิ่มฟีเจอร์ใหม่ๆ ลงใน API นี้
DisplayMediaStreamConstraints.selfBrowserSurface
คำใบ้ที่อนุญาตให้เว็บแอปพลิเคชันสั่งให้เบราว์เซอร์ยกเว้นแท็บปัจจุบันจากรายการแท็บที่แสดงต่อผู้ใช้เมื่อเรียกใช้ getDisplayMedia()
ซึ่งจะช่วยป้องกันการจับภาพตัวเองโดยไม่ตั้งใจ เมื่อผู้ใช้เลือกแท็บที่แอปกำลังทำงานอยู่โดยไม่ตั้งใจ จะเกิดเอฟเฟกต์ห้องกระจก ซึ่งทำให้ผู้ใช้สับสนและทำให้การสนทนากับผู้ใช้ระยะไกลไม่ราบรื่น
DisplayMediaStreamConstraints.surfaceSwitching
เพิ่มตัวเลือกในการควบคุมโดยโปรแกรมว่าจะให้ Chrome แสดงปุ่มสำหรับสลับแท็บขณะแชร์หน้าจอหรือไม่ ระบบจะส่งตัวเลือกนี้ไปยัง navigator.mediaDevices.getDisplayMedia()
ปุ่มแชร์แท็บนี้แทนช่วยให้ผู้ใช้เปลี่ยนแท็บที่แชร์ได้อย่างราบรื่นโดยไม่ต้องเลือกแท็บการประชุมผ่านวิดีโออีกครั้ง คลิกปุ่มเพื่อเริ่ม getDisplayMedia() อีกครั้ง หรือเลือกแท็บใหม่จากรายการแท็บยาวๆ ลักษณะการทำงานนี้จะแสดงอย่างมีเงื่อนไขเนื่องจากเว็บแอปพลิเคชันบางรายการไม่สามารถจัดการลักษณะการทำงานนี้ได้
MediaTrackConstraintSet.displaySurface
เมื่อมีการเรียกใช้ getDisplayMedia() เบราว์เซอร์จะให้ผู้ใช้เลือกพื้นผิวการแสดงผล ได้แก่ แท็บ หน้าต่าง หรือจอภาพ การใช้ข้อจํากัด displaySurface ตอนนี้เว็บแอปพลิเคชันอาจบอกใบ้กับเบราว์เซอร์ได้หากต้องการให้ระบบเสนอพื้นผิวบางประเภทแก่ผู้ใช้มากขึ้น
ดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีที่ฟีเจอร์เหล่านี้จะช่วยหลีกเลี่ยงการแชร์มากเกินไปโดยไม่ตั้งใจ
สถานะการบล็อกการแสดงผลในการจับเวลาทรัพยากร
เพิ่มฟิลด์ลงใน PerfomanceResourceTiming เพื่อระบุสถานะการบล็อกการแสดงผลของทรัพยากร ปัจจุบันในมุมมองของนักพัฒนาซอฟต์แวร์ วิธีเดียวที่จะระบุได้ว่าทรัพยากรใดที่บล็อกการแสดงผลจริงคือการใช้ฮิวริสติกที่ซับซ้อน ฟิลด์ใหม่จะให้สัญญาณโดยตรงเกี่ยวกับเรื่องนี้แทน
ไวลด์การ์ดในต้นทางของนโยบายสิทธิ์
ฟีเจอร์นี้จะเพิ่มการรองรับไวลด์การ์ดในนโยบายสิทธิ์ที่มีโครงสร้างเหมือน SCHEME://*.HOST:PORT (เช่น https://*.foo.com/) ซึ่งสามารถสร้างต้นทางที่ถูกต้องจาก SCHEME://HOST:PORT (เช่น https://foo.com/) ได้ ซึ่งกำหนดให้ HOST ต้องเป็น eTLD+1 (โดเมนที่จดทะเบียนได้) เป็นอย่างน้อย ซึ่งหมายความว่า https://*.bar.foo.com/ ใช้งานได้ แต่ https://*.com/ ใช้งานไม่ได้ ระบบจะไม่รองรับไวลด์การ์ดในส่วนรูปแบบและพอร์ต และ https://*.foo.com/ จะไม่มอบสิทธิ์ให้ https://foo.com/ ก่อนหน้านี้ นโยบายสิทธิ์อาจมีลักษณะดังนี้
permissions-policy: ch-ua-platform-version=(self "https://foo.com" "https://cdn1.foo.com" "https://cdn2.foo.com")
ฟีเจอร์นี้ช่วยให้คุณใช้สิ่งต่อไปนี้ได้
permissions-policy: ch-ua-platform-version=(self "https://foo.com" "https://*.foo.com")
รองรับแอตทริบิวต์ rel ในองค์ประกอบ <form>
ฟีเจอร์นี้จะเพิ่มแอตทริบิวต์ rel ลงในองค์ประกอบของแบบฟอร์ม ซึ่งจะช่วยป้องกันไม่ให้ window.opener ปรากฏในเว็บไซต์ที่องค์ประกอบของแบบฟอร์มซึ่งมี rel=noopener นำทางไป และป้องกันไม่ให้ส่งส่วนหัวของ Referer พร้อมกับ rel=noreferrer
ช่วงทดลองใช้จากต้นทาง
Chrome รุ่นนี้มีช่วงทดลองใช้จากต้นทางใหม่ 2 รายการ
Declarative PendingBeacon API
API บีคอนแบบมีสถานะที่ช่วยให้เบราว์เซอร์ควบคุมเวลาที่จะส่งบีคอนได้ Beacon คือชุดข้อมูลที่ส่งไปยังเซิร์ฟเวอร์แบ็กเอนด์โดยไม่ต้องคาดหวังการตอบกลับใดๆ โดยปกติแล้ว เรามักต้องการส่งเหตุการณ์เหล่านี้เมื่อผู้ใช้เข้าชมหน้าเว็บเสร็จสิ้น แต่ไม่มีเวลาที่เหมาะสมที่จะเรียกใช้ฟังก์ชัน "send" API นี้จะมอบหมายการส่งไปยังเบราว์เซอร์เอง จึงรองรับบีคอนเมื่อเลิกโหลดหน้าเว็บหรือเมื่อซ่อนหน้าเว็บได้โดยที่นักพัฒนาแอปไม่ต้องใช้การเรียกส่งในเวลาที่เหมาะสมอย่างแน่นอน
คาดว่าช่วงทดลองใช้นี้จะดำเนินไปจนถึง Chrome 109 ลงทะเบียนเพื่อทดลองใช้ที่นี่
Permissions-Policy: unload
ฟีเจอร์นี้ช่วยให้หน้าเว็บปิดใช้การเรียกใช้ตัวแฮนเดิลเหตุการณ์ยกเลิกการโหลดได้ เป้าหมายคือการอนุญาตให้เว็บไซต์ที่นำตัวแฮนเดิลการเลิกโหลดทั้งหมดออกแล้ว เพื่อให้มั่นใจว่าเว็บไซต์จะไม่เพิ่มตัวแฮนเดิลใหม่โดยไม่ตั้งใจ ซึ่งจะช่วยให้เว็บไซต์ย้ายข้อมูลออกจากตัวแฮนเดิลเหตุการณ์ยกเลิกการโหลด และปรับปรุงอัตราการเข้าชม BFCache
คาดว่าช่วงทดลองใช้นี้จะดำเนินไปจนถึง Chrome 109 ลงทะเบียนเพื่อทดลองใช้ที่นี่
การเลิกใช้งานและการนำออก
Chrome เวอร์ชันนี้มีการเลิกใช้งานและการนำออกตามรายการด้านล่าง ไปที่ ChromeStatus.com เพื่อดูรายการการเลิกใช้งานที่วางแผนไว้ การเลิกใช้งานในปัจจุบัน และการนำออกก่อนหน้า
Chrome รุ่นนี้เลิกใช้งานฟีเจอร์หนึ่ง
Expect-CT
Expect-CT คือส่วนหัว HTTP ที่อนุญาตให้เว็บไซต์เลือกใช้การบังคับใช้ความโปร่งใสของใบรับรองก่อนที่จะมีการบังคับใช้โดยค่าเริ่มต้น นอกจากนี้ ยังมีฟังก์ชันการรายงานที่จะช่วยให้นักพัฒนาแอปค้นพบการกำหนดค่า CT ที่ไม่ถูกต้อง
Expect-CTส่วนหัว HTTP ได้รับการออกแบบมาเพื่อช่วยเปลี่ยนไปใช้การบังคับใช้ Certificate Transparency (CT) แบบสากล โดยอนุญาตให้เว็บไซต์ที่มีมูลค่าสูงเลือกใช้การบังคับใช้หรือการรายงาน CT เพื่อความปลอดภัยที่ดียิ่งขึ้นก่อนที่จะมีการกำหนดให้ใช้ CT (โดย Chrome) ในเว็บไซต์สาธารณะทั้งหมด อย่างไรก็ตาม Expect-CT ไม่ได้มีประโยชน์อีกต่อไปแล้ว ตอนนี้ Chrome กำหนดให้ใช้ CT ในเว็บไซต์สาธารณะทั้งหมดแล้ว ดังนั้น Expect-CT จึงไม่มีคุณค่าด้านความปลอดภัยอีกต่อไป ไม่มีเบราว์เซอร์อื่นที่ใช้ Expect-CT ดังนั้นการนำออกจึงไม่ส่งผลต่อการทำงานร่วมกัน