Chrome 115 เบต้า

คีย์เวิร์ดหลายคำสำหรับพร็อพเพอร์ตี้การแสดงผล CSS, WGSLLanguageFeatures สำหรับ WebGPU, การอัปเกรด HTTPS และอื่นๆ

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

CSS

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

ค่าหลายค่าของพร็อพเพอร์ตี้ display

ขณะนี้พร็อพเพอร์ตี้ CSS display ยอมรับคีย์เวิร์ดหลายรายการเป็นค่าหนึ่ง นอกเหนือจากคีย์เวิร์ดที่เขียนไว้ล่วงหน้าแบบเดิม คีย์เวิร์ด 2 คำแรกแสดงถึงค่าด้านนอกและด้านในของดิสเพลย์ และจะมีแฟล็กที่ไม่บังคับสำหรับ list-item ค่าภายใน เช่น table-cell และค่าในช่อง contents และ none

เมื่อใช้คีย์เวิร์ดด้านนอกและด้านใน คุณจะกำหนดวิธีการทำงานของกล่องด้านนอก (บล็อกหรือแทรกในบรรทัด) และพฤติกรรมภายในย่อยต่างๆ ได้ เช่น flex, grid หรือ flow ดังนั้น display: flex จะกลายเป็น display: block flex และ display: block จะกลายเป็น display: block flow ดูรายการการแมปทั่วไปและข้อมูลเพิ่มเติมใน MDN

การค้นหาคอนเทนเนอร์รูปแบบบูลีน

Chrome 115 รองรับการค้นหาคอนเทนเนอร์ style() ที่ไม่มีค่าการประกาศ แต่มีเฉพาะชื่อพร็อพเพอร์ตี้เป็นวิธีการจับคู่ค่าที่ไม่ใช่ค่าเริ่มต้น ก่อนหน้านี้ คุณต้องใช้ not style(--my-property: initial) ตอนนี้คุณสามารถใช้ style(--my-property) เพื่อจับคู่ค่าที่ไม่ใช่ค่าเริ่มต้นได้

ภาพเคลื่อนไหวที่ใช้การเลื่อน

ScrollTimeline และ ViewTimeline เป็นส่วนขยายของข้อกำหนดเฉพาะภาพเคลื่อนไหวบนเว็บ ซึ่งช่วยให้นักพัฒนาซอฟต์แวร์สามารถใช้ตำแหน่งของตัวเลื่อนหรือตำแหน่งขององค์ประกอบภายในตัวเลื่อนเป็น "เวลา" ที่ป้อนแทนเวลานาฬิกาแบบโมโนโทนิกเริ่มต้น ซึ่งจะทําให้ภาพเคลื่อนไหวแบบเลื่อนแบบเร่งได้ เช่น แถบนำทางที่เล็กลง โดยไม่ต้องดําเนินการตามสคริปต์ของผู้ใช้ โดยสามารถประกาศและสร้างอินสแตนซ์ได้ทั้งผ่าน CSS และ JavaScript ที่ใช้ในภาพเคลื่อนไหว CSS และภาพเคลื่อนไหวบนเว็บ

ดูรายละเอียดเพิ่มเติมได้ที่ทำให้องค์ประกอบเคลื่อนไหวขณะเลื่อนด้วยภาพเคลื่อนไหวจากการเลื่อน

แก้ไขการถดถอยซึ่งองค์ประกอบที่มี display: contents ไม่แสดงในแผนผังการช่วยเหลือพิเศษอีกต่อไป

มีการถดถอยที่ทำให้องค์ประกอบที่มี display: contents สูญเสียข้อมูลเชิงความหมาย และไม่ได้แสดงอย่างถูกต้องในแผนผังการช่วยเหลือพิเศษอีกต่อไป Chrome 115 มีวิธีแก้ปัญหานี้

API ของเว็บ

การเพิ่มขนาดสูงสุดของ WebAssembly.Module() ในเทรดหลักเป็น 8 MB

ตัวสร้าง WebAssembly.Module() จะรวบรวมโมดูล WebAssembly แบบไบนารีแบบพร้อมกัน ซึ่งบล็อกเทรดหลักได้ เพื่อหลีกเลี่ยงปัญหานี้ ขนาดสูงสุดของโมดูล WebAssembly ที่คอมไพล์ได้ด้วยตัวสร้างนี้จะมีขนาดไม่เกิน 8 MB คุณจะคอมไพล์โมดูลขนาดใหญ่แบบไม่พร้อมกันบนเทรดหลักได้ด้วย WebAssembly.compile() หรือพร้อมกันบนเทรดผู้ปฏิบัติงาน ขีดจำกัด 8 MB ขยายจากขีดจำกัดเดิมที่ 4 KB ส่วนขยายนี้ทำได้จากการปรับปรุงรันไทม์ของ WebAssembly V8 ขนาดพื้นที่ 8 MB คำนวณจากการวัดประสิทธิภาพในโทรศัพท์ Google Pixel 1 ซึ่งปัจจุบันถือว่าเป็นโทรศัพท์ระดับโลว์เอนด์ การพัฒนาในอนาคตใน V8 หรือในฮาร์ดแวร์อาจทำให้ขยายขีดจำกัดเพิ่มเติมได้อีก

FedCM: รองรับข้อกำหนดด้านสื่อกลางการจัดการข้อมูลเข้าสู่ระบบเพื่อการตรวจสอบสิทธิ์อีกครั้งโดยอัตโนมัติ

รองรับข้อกำหนดของสื่อกลางการจัดการข้อมูลเข้าสู่ระบบ เพื่อมอบ UX การตรวจสอบสิทธิ์ซ้ำที่มีประสิทธิภาพสำหรับผู้ใช้ที่สร้างบัญชีแบบรวมศูนย์ในเว็บไซต์ด้วย FedCM API

การอัปเกรด HTTPS

อัปเกรดการนำทางในเมนเฟรมทั้งหมดให้เป็นแบบ HTTPS โดยอัตโนมัติและเพิ่มประสิทธิภาพ พร้อมเปลี่ยนไปใช้ HTTP ที่รวดเร็ว

การแบ่งพาร์ติชัน API ของพื้นที่เก็บข้อมูล, Service Worker และ Communication

Chrome กำลังแบ่งพาร์ติชัน API ของพื้นที่เก็บข้อมูลและ API การสื่อสารในบริบทของบุคคลที่สามเพื่อป้องกันการติดตามข้ามเว็บไซต์แบบ Side Channel บางประเภท ซึ่งรวมถึงพื้นที่เก็บข้อมูลที่มีการจัดการโควต้า โปรแกรมทำงานของบริการ และ API การสื่อสาร (เช่น BroadcastChannel) ดูรายละเอียดเพิ่มเติมได้ในเอกสารประกอบเกี่ยวกับการแบ่งพาร์ติชันพื้นที่เก็บข้อมูล

ระยะเวลาของทรัพยากร: แสดงเวลาตอบกลับชั่วคราว

แสดง PerformanceResourceTiming.firstInterimResponseStart ในกรณีที่การนําทางหรือการดึงข้อมูลทรัพยากรย่อยพบการตอบสนอง 1xx ชั่วคราว ตัวอย่างเช่น เมื่อใช้การดำเนินการต่อ 100 รายการหรือคำแนะนำเบื้องต้น 103 รายการ ตอนนี้ firstInterimResponseStart จะตรงกับเวลาของการตอบกลับชั่วคราวครั้งแรก ส่วน responseStart จะสอดคล้องกับการตอบกลับสุดท้าย เช่น สถานะ 200 รายการ

การอัปเดตการจัดการคำนำหน้า "xml" ใน lookupNamespaceURI() และ createNSResolver()

Node.lookupNamespaceURI() รองรับคำนำหน้า "xml" และ "xmlns" ตามค่าเริ่มต้น ฟังก์ชันจะส่งสตริงเนมสเปซแบบคงที่กลับมา Document.createNSResolver() และ XPathEvaluator.createNSResolver() หยุดเพื่อรวมโหนดที่ระบุเพื่อเพิ่มการจัดการคำนำหน้า "xml" และแสดงผลโหนดที่ระบุตามเดิม ตอนนี้นักพัฒนาเว็บใช้องค์ประกอบเป็น XPathNSResolver ได้โดยไม่ต้องตัดโหนดด้วย createNSResolver()

VisibilityStateEntry

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

WGSLLanguageFeatures สำหรับ WebGPU

เพิ่ม Getter wgslLanguageFeatures ในออบเจ็กต์ GPU สำหรับ WebGPU และประเภท WGSLLanguageFeatures ที่เกี่ยวข้อง

คำสั่ง WebDriver สำหรับการโต้ตอบกับกล่องโต้ตอบ FedCM

ซึ่งจะแสดงคำสั่ง WebDriver หลายรายการเพื่อเปิดใช้การทำงานอัตโนมัติของเบราว์เซอร์ เช่น การทดสอบอัตโนมัติ ให้โต้ตอบกับกล่องโต้ตอบ FedCM

ช่วงทดลองใช้จากต้นทางอยู่ระหว่างดำเนินการ

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

ความดันในการประมวลผล

Compute Pressure API ให้ข้อมูลระดับสูงเกี่ยวกับสถานะปัจจุบันของฮาร์ดแวร์อุปกรณ์เพื่อช่วยให้เว็บไซต์สามารถหาจุดสมดุลที่เหมาะสมสำหรับผู้ใช้ ระหว่างการใช้ประโยชน์จากพลังการประมวลผลที่มี และการทำให้ระบบอยู่ภายใต้ความเครียดที่จัดการไม่ได้ Compute Pressure เป็นคำศัพท์ทั่วไปที่ออกแบบขึ้นมา ในขณะนี้จะคำนวณตามโหลดของ CPU แต่แผนในอนาคตจะใช้สัญญาณจากอุณหภูมิและสถานะแบตเตอรี่ เป็นต้น ดูข้อมูลเพิ่มเติมในการประกาศช่วงทดลองใช้ Compute Pressure เริ่มต้นครั้งที่ 2

ลงทะเบียนเข้าร่วมช่วงทดลองใช้ Compute Pressure จากต้นทาง

คำแนะนำการรวบรวมที่ชัดเจนพร้อมความคิดเห็นวิเศษ

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

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

API เฟรมภาพเคลื่อนไหวแบบยาว

นี่เป็นส่วนขยายของ Long Tasks API โดยจะวัดผลงานควบคู่กับการอัปเดตการแสดงผลที่ตามมา โดยการเพิ่มข้อมูล เช่น สคริปต์ที่ทำงานเป็นเวลานาน เวลาในการแสดงผล และเวลาที่ใช้ในการบังคับการจัดวางและสไตล์ ซึ่งเรียกว่า "การควบคุมเลย์เอาต์" นักพัฒนาแอปสามารถใช้รายงานนี้เป็นการวินิจฉัย "ความช้า" ซึ่งวัดได้จากการโต้ตอบกับ Next Paint (INP) โดยค้นหาสาเหตุของความคับคั่งของเทรดหลักซึ่งมักเป็นสาเหตุที่ทำให้เกิด INP ที่ไม่ดี

ลงทะเบียนทดลองใช้ต้นทางเฟรมภาพเคลื่อนไหวแบบยาว

API ที่เก็บข้อมูลของพื้นที่เก็บข้อมูล

ที่เก็บข้อมูลของพื้นที่เก็บข้อมูลทำให้เว็บไซต์สามารถสร้างที่เก็บข้อมูลของพื้นที่เก็บข้อมูลหลายรายการเพื่อจัดระเบียบข้อมูล โดยทำให้ User Agent ลบที่เก็บข้อมูลแต่ละชุดแยกจากที่เก็บข้อมูลอื่นๆ ได้ ที่เก็บข้อมูลของพื้นที่เก็บข้อมูลแต่ละรายการจะเก็บข้อมูลที่เชื่อมโยงกับ API พื้นที่เก็บข้อมูลที่มีอยู่แล้วได้ เช่น IndexedDB และ CacheStorage ลงทะเบียนทดลองใช้ Storage Buckets API จากต้นทาง

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

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

Chrome รุ่นนี้ได้เลิกใช้งานฟีเจอร์ 2 รายการ

เลิกใช้งานตัวตั้งค่า document.domain

ระบบเลิกใช้งานการตั้งค่า document.domain เนื่องจากอนุญาตให้นักพัฒนาแอปผ่อนปรนนโยบายต้นทางเดียวกัน และทำให้ขอบเขตความปลอดภัยพื้นฐานที่เราตั้งใจจะรักษามีความซับซ้อนขึ้น รวมถึงขัดขวางการเปลี่ยนแปลงของโมเดลกระบวนการของ Chromium หลังสเปคเตอร์ ไปที่ Chrome ปิดใช้การแก้ไข document.domain เพื่อดูตัวเลือกอื่นๆ ในการใช้ document.domain กรณีการใช้งานส่วนใหญ่ postMessage() แบบข้ามต้นทางหรือ Channel Messaging API สามารถแทนที่ document.domain ได้ คุณสามารถเลือกใช้โดเมนเอกสารได้ผ่านคลัสเตอร์ Agent ที่ผูกกับต้นทางเป็นทางเลือกสุดท้าย ตัวตั้งค่าจะยังคงอยู่ แต่ต้นทางจะไม่เปลี่ยนแปลง

เลิกใช้งานเหตุการณ์การเปลี่ยนแปลง

เราเลิกใช้งานเหตุการณ์การเปลี่ยนแปลง ซึ่งรวมถึง DOMSubtreeModified, DOMNodeInserted, DOMNodeRemoved, DOMNodeRemovedFromDocument และ DOMNodeInsertedIntoDocument จากข้อกำหนดในปี 2011 และใช้ Mutation Observer API แทนในปี 2012 คุณต้องย้ายข้อมูลการใช้เหตุการณ์การเปลี่ยนแปลงที่ล้าสมัยไปยัง Mutation Observer ก่อนจะมีการนำออกใน Chrome 127 (20 กรกฎาคม 2024)

ดูข้อมูลเพิ่มเติมเกี่ยวกับการเลิกใช้งานเหตุการณ์การเปลี่ยนแปลง