Chrome 119 รุ่นเบต้านำเสนอไวยากรณ์สีสัมพัทธ์ CSS, Pseudo-class ใหม่ และอื่นๆ อีกมากมาย
การเปลี่ยนแปลงที่อธิบายจะมีผลกับ Chrome เวอร์ชันเบต้ารุ่นล่าสุดสำหรับ Android, ChromeOS, Linux, macOS และ Windows เว้นแต่จะระบุไว้เป็นอย่างอื่น ดูข้อมูลเพิ่มเติมเกี่ยวกับฟีเจอร์ต่างๆ ที่ระบุไว้ที่นี่ผ่านลิงก์ที่ให้ไว้หรือจากรายการใน ChromeStatus.com ทั้งนี้ Chrome 119 เป็นเวอร์ชันเบต้าตั้งแต่วันที่ 4 ตุลาคม 2023 คุณสามารถดาวน์โหลดเวอร์ชันล่าสุดได้ที่ Google.com สำหรับเดสก์ท็อปหรือ Google Play Store บน Android
CSS
รุ่นนี้ได้เพิ่มฟีเจอร์ CSS ใหม่ 4 รายการ
Pseudo-classes ใน CSS :user-available และ :user- invalid-class
คลาสจำลอง :user-invalid
และ :user-valid
แสดงถึงองค์ประกอบที่มีอินพุตไม่ถูกต้องหรือถูกต้องตามลำดับ แต่จะเกิดขึ้นหลังจากที่ผู้ใช้โต้ตอบกับองค์ประกอบดังกล่าวอย่างมีนัยสำคัญเท่านั้น ซึ่งคล้ายกับ :valid
และ :invalid
แต่ด้วยข้อจำกัดที่เพิ่มเข้ามาซึ่งคลาสจำลองเหล่านี้จับคู่ตรงกันหลังจากที่ผู้ใช้โต้ตอบกับองค์ประกอบแล้วเท่านั้น
ไวยากรณ์สีสัมพัทธ์ (RCS) ของ CSS
ไวยากรณ์สีสัมพัทธ์ช่วยให้นักพัฒนาซอฟต์แวร์กำหนดสีโดยการแก้ไขพารามิเตอร์ของสีอื่นๆ ได้
เช่น oklab(from magenta calc(l * 0.8) a b);
จะให้ผลลัพธ์เป็น oklab สีม่วงแดงที่อ่อนลง 80%
ค่าช่องเรขาคณิตของคลิปเส้นทางคลิป CSS
ตอนนี้พร็อพเพอร์ตี้ CSS clip-path
รองรับค่า <geometry-box>
เพื่อควบคุมกล่องอ้างอิงของคลิปแล้ว ซึ่งจะช่วยให้ใช้งาน clip-path
ได้ง่ายขึ้น ค่าของช่องเหล่านี้สามารถใช้คู่กับรูปร่างพื้นฐาน (เช่น clip-path: circle(50%) margin-box
) หรือจะใช้ตัดกับช่องที่ระบุเพียงอย่างเดียว (เช่น clip-path: content-box
)
ค่า xywh() และ rect() ของคลิป CSS
ตอนนี้ Chrome รองรับค่า xywh()
และ rect()
ของพร็อพเพอร์ตี้ clip-path
แล้ว ซึ่งจะช่วยให้ระบุคลิปสี่เหลี่ยมผืนผ้าหรือสี่เหลี่ยมมุมมนได้ง่ายขึ้น
API ของเว็บ
ขีดจำกัดสูงสุดของแอตทริบิวต์คุกกี้หมดอายุ/สูงสุดอายุสำหรับพื้นที่เก็บข้อมูลก่อนหน้า
เนื่องจากคุกกี้ที่สร้างใหม่ Chrome 104 หรือคุกกี้ที่อัปเดตด้วยวันที่หมดอายุจึงกำหนดวันที่ดังกล่าวไม่เกิน 400 วันในอนาคต ขีดจำกัดเดียวกันนี้ก็จะมีผลย้อนหลังกับคุกกี้ในพื้นที่เก็บข้อมูลแล้ว วันที่หมดอายุของคุกกี้เหล่านี้จะถูกจำกัดไว้ไม่เกิน 400 วันหลังจากที่ Chrome 119+ เริ่มทำงานเป็นครั้งแรกและย้ายข้อมูลฐานข้อมูลแบบครั้งเดียว ผู้ใช้จะไม่รู้สึกถึงผลกระทบจากการเปลี่ยนแปลงนี้จนกว่าอย่างน้อย 400 วันหลังจากเผยแพร่ Chrome 119 หลังจากนั้นอย่างน้อย 400 วัน และเฉพาะคุกกี้ที่มีอยู่ซึ่งยังไม่ได้รับการอัปเดตในช่วงเวลานั้น
DisplayMediaStreamOptions screenTypeSurfaces
เมื่อมีการเรียก getDisplayMedia()
เบราว์เซอร์จะเสนอตัวเลือกพื้นผิวการแสดงผลให้แก่ผู้ใช้ ซึ่งได้แก่ แท็บ หน้าต่าง หรือจอภาพ เมื่อใช้ตัวเลือก monitorTypeSurfaces
เว็บแอปพลิเคชันอาจให้คำแนะนำแก่เบราว์เซอร์ว่า ต้องการรวมแพลตฟอร์ม Display ซึ่งมีประเภทการตรวจสอบจากตัวเลือกที่เสนอให้ผู้ใช้หรือไม่
การอัปเดตฟังก์ชันการทำงานของ Fenced Frames
Chrome 119 มีการปรับปรุง Fenced Frame ดังต่อไปนี้
มีตัวเลือกรูปแบบเพิ่มเติมสำหรับมาโครขนาดโฆษณาของ Protected Audience ใน Protected Audience API ภายใน Privacy Sandbox คุณลักษณะการเลือกใช้ช่วยให้คุณสามารถมาโครขนาดของโฆษณาที่ชนะการประมูลลงใน URL ของโฆษณาได้ ตัวอย่างเช่น
https://ad.com?width={/%AD_WIDTH%}&height={/%AD_HEIGHT%}
เพื่อให้สอดคล้องกับมาโครประเภทอื่นๆ ใน Protected Audience เช่น มาโครที่ deprecatedReplaceInURN
และ registerAdMacro
ใช้ ใน Chrome 119 เราจะเพิ่มความสามารถในการใช้ ${AD_WIDTH}
และ ${AD_HEIGHT}
เป็นรูปแบบสำหรับมาโครนอกเหนือจากรูปแบบปัจจุบัน
ตอนนี้ระบบจะส่งบีคอนอัตโนมัติไปยัง URL ที่ลงทะเบียนทั้งหมด ก่อนหน้านี้ เฉพาะปลายทางที่ระบุไว้เมื่อเรียกใช้ setReportEventDataForAutomaticBeacons()
เท่านั้นที่จะได้รับบีคอนอัตโนมัติ แม้ว่าปลายทางนั้นจะมีการเรียก registerAdBeacon()
สำหรับ "reserved.top_navigation"
ในเวิร์กเลตก็ตาม ตอนนี้ปลายทางทั้งหมดที่เรียกใช้ registerAdBeacon()
สำหรับ "reserved.top_navigation"
จะได้รับบีคอนอัตโนมัติ แต่เฉพาะปลายทางที่ระบุไว้ใน setReportEventDataForAutomaticBeacons()
เท่านั้นที่จะได้รับข้อมูลบีคอนอัตโนมัติพร้อมกับบีคอน ตอนนี้พารามิเตอร์ "once"
ใน setReportEventDataForAutomaticBeacons()
จะกำหนดว่าข้อมูลจะส่งออกเพียงครั้งเดียวหรือไม่ แทนที่จะระบุว่ามีการส่งบีคอนทั้งหมดครั้งเดียวหรือไม่
ระยะขอบการเลื่อนของผู้สังเกตการณ์ทางแยก
พร็อพเพอร์ตี้ Intersection Observer scrollMargin
ช่วยให้นักพัฒนาซอฟต์แวร์สังเกตเป้าหมายภายในคอนเทนเนอร์แบบเลื่อนที่ฝังไว้ ซึ่งปัจจุบันคอนเทนเนอร์แบบเลื่อนได้ถูกตัดออก ซึ่งทำได้โดยการขยายรูปสี่เหลี่ยมตัดกันของคอนเทนเนอร์ด้วย scrollMargin
เมื่อคำนวณสี่แยก
คอนเทนเนอร์การเลื่อนที่โฟกัสได้ของแป้นพิมพ์
ฟีเจอร์นี้ช่วยปรับปรุงการช่วยเหลือพิเศษโดยทำให้คอนเทนเนอร์แบบเลื่อนโฟกัสได้โดยใช้การนำทางโฟกัสตามลำดับ ก่อนหน้านี้ แป้น Tab ไม่ได้โฟกัสตัวเลื่อน เว้นแต่จะตั้งค่า TabIndex เป็น 0 หรือมากกว่าอย่างชัดเจน การกำหนดให้แถบเลื่อนสามารถโฟกัสได้โดยค่าเริ่มต้น ผู้ใช้ที่ไม่สามารถ (หรือไม่ต้องการ) ใช้เมาส์จะโฟกัสเนื้อหาที่ตัดได้โดยใช้แท็บและแป้นลูกศรของแป้นพิมพ์ การทำงานลักษณะนี้เปิดใช้เฉพาะในกรณีที่ตัวเลื่อนไม่มีรายการย่อยที่โฟกัสได้ของแป้นพิมพ์
การจำกัดการเข้าถึงเครือข่ายส่วนตัวสำหรับรถยนต์
บังคับใช้การจำกัดการเข้าถึงเครือข่ายส่วนตัว (แทนที่จะเตือน) ใน Chrome สำหรับ Android Automotive (หาก BuildInfo::is_automotive
) ซึ่งรวมถึงคำขอการตรวจสอบการเข้าถึงเครือข่ายส่วนตัวสำหรับทรัพยากรย่อยและการเข้าถึงเครือข่ายส่วนตัวสำหรับผู้ปฏิบัติงาน
อ่านแอตทริบิวต์ของอุปกรณ์ Chrome
Web API สำหรับแอตทริบิวต์ของอุปกรณ์เป็นชุดย่อยของ Managed Device Web API ซึ่งช่วยให้เว็บแอปพลิเคชันค้นหาข้อมูลอุปกรณ์ได้ เช่น รหัสอุปกรณ์ หมายเลขซีเรียล และตำแหน่ง
แทนที่มาร์กอัปห้อยคอในชื่อเป้าหมายเป็น _blank
การเปลี่ยนแปลงนี้จะเปลี่ยนชื่อเป้าหมายที่นำทางได้ (ซึ่งปกติจะกำหนดโดยแอตทริบิวต์เป้าหมาย) เป็น _blank
หากมีมาร์กอัปที่สลับกัน (เช่น \n
และ <
) ซึ่งจะแก้ไขการข้ามในการลดการแทรกมาร์กอัป
ส่วนหัวคำแนะนำไคลเอ็นต์ของฟีเจอร์สื่อการกำหนดค่าของผู้ใช้ Sec-CH-Reduced-Transparency
ส่วนหัวคำแนะนำไคลเอ็นต์ของสื่อสำหรับค่ากำหนดของผู้ใช้จะกำหนดชุดของส่วนหัวคำแนะนำไคลเอ็นต์ HTTP สำหรับฟีเจอร์สื่อค่ากำหนดของผู้ใช้ ตามที่กำหนดโดยคิวรี่สื่อระดับ 5 หากใช้เป็นคำแนะนำไคลเอ็นต์ที่สำคัญ ส่วนหัวเหล่านี้จะช่วยให้เซิร์ฟเวอร์ตัดสินใจได้อย่างชาญฉลาด เช่น การแทรกในบรรทัดของ CSS Sec-CH-Prefers-Reduced-Transparency
สอดคล้องกับค่ากำหนด prefers-reduced-transparency
ของผู้ใช้ และพร้อมใช้งานใน Chrome 119
อักขระเครื่องหมายวรรคตอนของโฮสต์ URL ที่เป็นไปตามข้อกำหนดมาตรฐาน
ทำให้ Chrome จัดการอักขระเครื่องหมายวรรคตอนของโฮสต์ URL ตามมาตรฐานของ URL เช่น
ก่อน:
> const url = new URL("http://exa(mple.com;");
> url.href
'http://exa%28mple.com/'
(
เป็นอักขระต้องห้าม แต่ Chrome อนุญาตไม่ถูกต้อง
หลัง:
> const url = new URL("http://exa(mple.com;");
> => throws TypeError: Invalid URL.
โหมดอัตราบิตของ WebCodecs AudioEncoder
ตัวแปลงสัญญาณเสียงบางตัวรองรับการระบุโหมดอัตราบิตของโปรแกรมเปลี่ยนไฟล์เสียง ฟีเจอร์นี้เพิ่มแฟล็ก "bitrateMode"
ที่มีค่าเริ่มต้นเป็น "variable"
ลงใน AudioEncoderConfig
ของ WebCodec ซึ่งจะมิเรอร์ตัวเลือกการกำหนดค่าและค่าเริ่มต้นที่มีสำหรับ VideoEncoderConfig
อยู่แล้ว
การตั้งค่าสถานะนี้จะช่วยให้นักพัฒนาซอฟต์แวร์สามารถเลือกระหว่างการเข้ารหัสเสียงที่มีอัตราบิตแปรผันหรืออัตราบิตคงที่ การใช้โปรแกรมเปลี่ยนไฟล์บางรูปแบบอาจมีคำศัพท์ที่แตกต่างกันเล็กน้อย (เช่น CBR
กับ VBR
สำหรับ Opus) แต่ทุกวิธีควรแมปกับแนวคิดทั่วไปของอัตราบิตแบบ "คงที่" กับอัตราบิต "ผันแปร"
ตัวเลือกทั้งสองจะส่งผลดังต่อไปนี้
- ตัวแปร: อนุญาตให้โปรแกรมเปลี่ยนไฟล์เสียงเพิ่มหรือลดอัตราบิตตามเนื้อหาของเสียงที่เข้ารหัสได้ เพื่อรักษาแบนด์วิดท์/ขนาดไบนารี โดยที่ยังคงคุณภาพของเป้าหมายไว้ เช่น โปรแกรมเปลี่ยนไฟล์อาจลดอัตราบิตลงเมื่อเข้ารหัสแบบเงียบ และเปลี่ยนกลับไปเป็นอัตราบิตเต็มเมื่อเข้ารหัสเสียงพูด
- คงที่ : บังคับให้โปรแกรมเปลี่ยนไฟล์เสียงใช้อัตราบิตเท่าเดิมโดยไม่คำนึงถึงเนื้อหาเสียง ซึ่งจะเป็นประโยชน์เมื่อต้องการใช้แบนด์วิดท์ที่คาดการณ์ได้
ตั้งแต่ Chrome 119 เป็นต้นไป การตั้งค่าสถานะนี้จะส่งผลต่อตัวแปลงรหัส 2 ตัวใน Chromium ได้แก่ Opus และ AAC
การห่อหุ้มแป้น X25519Kyber768 สำหรับ TLS
ป้องกันการรับส่งข้อมูล TLS ของ Chrome ในปัจจุบันจากการเป็นการเข้ารหัสเพื่อควอนตัมในอนาคตด้วยการติดตั้งใช้งานอัลกอริทึมข้อตกลงเกี่ยวกับคีย์ที่ทนทานประเภทควอนตัมของ Kyber768 นี่คือข้อตกลงเกี่ยวกับคีย์ X25519 + Kyber768 แบบไฮบริดตามมาตรฐาน IETF ข้อกำหนดและการเปิดตัวนี้อยู่นอกเหนือขอบเขตของ W3C ข้อตกลงหลักนี้จะเปิดตัวเป็นการเข้ารหัส TLS และควรมีความโปร่งใสต่อผู้ใช้
ช่วงทดลองใช้จากต้นทางอยู่ระหว่างดำเนินการ
ใน Chrome 119 คุณเลือกใช้ช่วงทดลองใช้จากต้นทางใหม่ต่อไปนี้ได้
เปิดป๊อปอัปเป็นหน้าต่างแบบเต็มหน้าจอ
ช่วงทดลองใช้จากต้นทางใหม่นี้จะเพิ่มพารามิเตอร์ fullscreen
windowFeatures ลงใน window.open()
JavaScript API วิธีนี้ช่วยให้ผู้โทรเปิดป๊อปอัปไปยังโหมดเต็มหน้าจอได้โดยตรงในจอแสดงผลซึ่งอาจมีป๊อปอัป (ขึ้นอยู่กับ screenX และ screenY) จึงไม่ต้องให้นักพัฒนาแอปเปลี่ยนป๊อปอัปเป็นโหมดเต็มหน้าจอด้วยตนเอง ซึ่งอาจต้องใช้สัญญาณการเปิดใช้งานผู้ใช้ใหม่
การเลิกใช้งานและการนำออก
Chrome เวอร์ชันนี้จะแนะนำการเลิกใช้งานและการนำออกตามรายการด้านล่าง ไปที่ ChromeStatus.com เพื่อดูรายการการเลิกใช้งานที่วางแผนไว้ การเลิกใช้งานในปัจจุบัน และการนำออกก่อนหน้า
Chrome รุ่นนี้จะนำฟีเจอร์ออก 4 รายการ
นำ SQL ของเว็บออก
ก่อนหน้านี้เราได้ประกาศการเลิกใช้งานและการนำ Web SQL ออก ฟีเจอร์นี้จะถูกนำออกโดยสมบูรณ์ใน Chrome 119 ช่วงทดลองใช้จากต้นทางแบบย้อนกลับช่วยให้นักพัฒนาแอปใช้ WebSQL ต่อไปได้จนถึง Chrome 123
นำ Sanitizer API ออก
Sanitizer API มีเป้าหมายที่จะสร้างตัวล้าง HTML ที่ใช้ง่าย ปลอดภัย และมีการดูแลรักษาเบราว์เซอร์ลงในแพลตฟอร์ม Chrome จัดส่งเวอร์ชันเริ่มต้นใน Chrome 105 โดยอิงตามฉบับร่างของข้อกำหนดในขณะนั้น อย่างไรก็ตาม ขณะเดียวกันการสนทนายังมีการเปลี่ยนแปลงอยู่ และรูปแบบของ API ที่เสนอได้เปลี่ยนแปลงไปอย่างมาก
เพื่อป้องกันไม่ให้ API ปัจจุบันกลายเป็นส่วนหนึ่ง เราจะนำการติดตั้งใช้งานปัจจุบันออก เราคาดว่าจะนำ Sanitizer API มาใช้งานอีกครั้งเมื่อข้อกำหนดที่นำเสนอมีความเสถียรอีกครั้ง
นำข้อมูลออก: URL ใน SVGUseElement
การกำหนด data: URL
ใน SVGUseElement
อาจทำให้เกิด XSS และยังนำไปสู่การข้าม Trusted Types ด้วย ด้วยเหตุนี้ เราจึงวางแผนที่จะเลิกใช้งานและนำการสนับสนุนดังกล่าวออก
นำแอตทริบิวต์ shadowroot
ที่ไม่เป็นไปตามมาตรฐานออกสำหรับ Declarative Shadow DOM
แอตทริบิวต์แทร็กมาตรฐาน shadowrootmode
ที่เปิดใช้ Shadow DOM ที่ประกาศแล้วมีการจัดส่งใน Chrome 111 เรากำลังนำแอตทริบิวต์ shadowroot
เวอร์ชันเก่าที่ไม่เป็นไปตามมาตรฐานออกใน Chrome 119 มีเส้นทางการย้ายข้อมูลที่ตรงไปตรงมา: แทนที่ shadowroot
ด้วย shadowrootmode