Chrome 119 เบต้า

Chrome 119 รุ่นเบต้ามีไวยากรณ์สีสัมพัทธ์ของ CSS, Pseudo-class ใหม่ และอื่นๆ อีกมากมาย

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

CSS

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

:user- valid และ :user-invalid ของ CSS Pseudo-class

คลาสเทียม :user-invalid และ :user-valid แสดงถึงองค์ประกอบที่มีอินพุตที่ไม่ถูกต้องหรือถูกต้องตามลำดับ แต่หลังจากที่ผู้ใช้มีการโต้ตอบอย่างมีนัยสำคัญแล้วเท่านั้น ค่านี้คล้ายกับ :valid และ :invalid แต่มีข้อจํากัดที่เพิ่มเข้ามาว่าคลาสเทียมเหล่านี้จับคู่หลังจากที่ผู้ใช้โต้ตอบกับองค์ประกอบแล้วเท่านั้น

ไวยากรณ์สีสัมพัทธ์ (RCS) ของ CSS

ไวยากรณ์สีแบบสัมพัทธ์ช่วยให้นักพัฒนาซอฟต์แวร์กำหนดสีโดยการแก้ไขพารามิเตอร์ของสีอื่นๆ ได้

ตัวอย่างเช่น oklab(from magenta calc(l * 0.8) a b); ได้ผลลัพธ์เป็น oklab สีม่วงแดงที่มีสีอ่อนลง 80%

ค่ากล่องเรขาคณิตของเส้นทางคลิปของ CSS

ตอนนี้พร็อพเพอร์ตี้ clip-path ของ CSS รองรับค่า <geometry-box> เพื่อควบคุมช่องอ้างอิงของคลิปแล้ว ซึ่งช่วยให้ใช้งาน clip-path ได้ง่ายขึ้น ค่าของกล่องเหล่านี้จะใช้ควบคู่ไปกับรูปทรงพื้นฐาน (เช่น clip-path: circle(50%) margin-box) หรือจะใช้เดี่ยวๆ เพื่อตัดกับช่องที่ระบุก็ได้ (เช่น clip-path: content-box)

ค่า xywh() และคงที่() ของเส้นทางคลิป CSS

ตอนนี้ Chrome รองรับค่า xywh() และ rect() ของพร็อพเพอร์ตี้ clip-path แล้ว ซึ่งทำให้ระบุคลิปสี่เหลี่ยมผืนผ้าหรือสี่เหลี่ยมผืนผ้าได้ง่ายขึ้น

API ของเว็บ

เนื่องจากคุกกี้ Chrome 104 ที่สร้างใหม่หรือคุกกี้ที่อัปเดตโดยมีวันที่หมดอายุจะมีการจำกัดวันที่ดังกล่าวในอนาคตไม่เกิน 400 วัน ขีดจำกัดเดียวกันนี้จะมีผลย้อนหลังกับคุกกี้ในพื้นที่เก็บข้อมูลที่มีอยู่แล้ว วันที่หมดอายุของคุกกี้จะถูกจํากัดไว้ที่ไม่เกิน 400 วันหลังจากที่ Chrome 119 ขึ้นไปเริ่มทำงานเป็นครั้งแรก และจะมีการย้ายข้อมูลฐานข้อมูลแบบครั้งเดียว ผู้ใช้จะไม่ได้รับผลกระทบจากการเปลี่ยนแปลงนี้จนกว่าการใช้งาน Chrome 119 จะเปิดตัวอย่างน้อย 400 วัน และจะมีผลเฉพาะสำหรับคุกกี้ที่มีอยู่ที่ยังไม่ได้อัปเดตในช่วงเวลาดังกล่าวเท่านั้น

DisplayMediaStreamOptions displayTypeSurfaces

เมื่อมีการเรียกใช้ getDisplayMedia() เบราว์เซอร์จะมีตัวเลือกพื้นที่แสดงผลแก่ผู้ใช้ ได้แก่ แท็บ หน้าต่าง หรือจอภาพ เมื่อใช้ตัวเลือก monitorTypeSurfaces เว็บแอปพลิเคชันอาจแนะนำเบราว์เซอร์หากต้องการรวมแพลตฟอร์มจอแสดงผลที่มีการตรวจสอบประเภทในตัวเลือกที่เสนอให้ผู้ใช้

การอัปเดตฟังก์ชันการทำงานของ Fenced Frame

Chrome 119 มาพร้อมการปรับปรุง Fenced Frame ดังต่อไปนี้

มีรูปแบบเพิ่มเติมสำหรับมาโครขนาดโฆษณาที่ใช้ Protected Audience API ใน 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

พร็อพเพอร์ตี้ Intersection Observer scrollMargin ช่วยให้นักพัฒนาซอฟต์แวร์สังเกตการณ์เป้าหมายภายในคอนเทนเนอร์แบบเลื่อนที่ซ้อนกันซึ่งปัจจุบันตัดออกโดยคอนเทนเนอร์แบบเลื่อน ซึ่งทำได้โดยการขยายการตัดคลิปของคอนเทนเนอร์ออกตาม scrollMargin เมื่อคำนวณจุดตัด

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

ฟีเจอร์นี้ช่วยปรับปรุงการช่วยเหลือพิเศษโดยทำให้สามารถโฟกัสคอนเทนเนอร์แบบเลื่อนได้โดยใช้การไปยังส่วนต่างๆ แบบโฟกัสตามลำดับ ก่อนหน้านี้ แป้น Tab ไม่ได้ใช้ตัวเลื่อนโฟกัสเว้นแต่จะมีการตั้งค่า TabIndex เป็น 0 ขึ้นไปอย่างชัดเจน เมื่อกำหนดให้แถบเลื่อนโฟกัสได้โดยค่าเริ่มต้น ผู้ใช้ที่ไม่สามารถ (หรือไม่ต้องการ) ใช้เมาส์จะสามารถโฟกัสเนื้อหาที่ถูกตัดได้โดยใช้แท็บและแป้นลูกศรของแป้นพิมพ์ ลักษณะการทำงานนี้จะเปิดใช้ก็ต่อเมื่อแถบเลื่อนไม่มีรายการย่อยที่โฟกัสได้ของแป้นพิมพ์

การจำกัดสิทธิ์เข้าถึงเครือข่ายส่วนตัวสำหรับยานยนต์

บังคับใช้ (แทนเพียงการเตือน) การจำกัดการเข้าถึงเครือข่ายส่วนตัวใน Chrome สำหรับ Android Automotive (หากเป็น BuildInfo::is_automotive) ซึ่งรวมถึงคำขอการตรวจสอบล่วงหน้าสำหรับการเข้าถึงเครือข่ายส่วนตัวสำหรับทรัพยากรย่อย และการเข้าถึงเครือข่ายส่วนตัวสำหรับผู้ปฏิบัติงาน

อ่านแอตทริบิวต์ของอุปกรณ์ Chrome

Device Attributes Web API เป็นชุดย่อยของ Managed Device Web API ที่ช่วยให้เว็บแอปพลิเคชันค้นหาข้อมูลอุปกรณ์ได้ เช่น รหัสอุปกรณ์ หมายเลขซีเรียล และตำแหน่ง

แทนที่มาร์กอัปที่ห้อยคอในชื่อเป้าหมายเป็น _blank

การเปลี่ยนแปลงนี้จะแทนที่ชื่อเป้าหมายที่นำทางได้ (ซึ่งปกติจะกำหนดโดยแอตทริบิวต์เป้าหมาย) เป็น _blank หากมีมาร์กอัปที่ห้อยคอ (เช่น \n และ <) ซึ่งเป็นการแก้ไขการข้ามการลดการแทรกมาร์กอัปที่อันตราย

การตั้งค่าสื่อของค่ากำหนดของผู้ใช้ Sec-CH-Prefers-Reduced-Transparency แสดงส่วนหัว Client Hints

ส่วนหัวฟีเจอร์สื่อของค่ากำหนดของผู้ใช้จะกำหนดชุดส่วนหัวคำแนะนำไคลเอ็นต์ HTTP รอบๆ ฟีเจอร์สื่อค่ากำหนดของผู้ใช้ตามที่กำหนดโดยคำค้นหาสื่อระดับ 5 หากใช้เป็น Critical Client Hints ส่วนหัวเหล่านี้จะช่วยให้เซิร์ฟเวอร์เลือกทางเลือกต่างๆ ได้อย่างชาญฉลาด เช่น CSS Ininline 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/&apos;

( เป็นอักขระต้องห้าม แต่ Chrome อนุญาตไม่ถูกต้อง

หลัง:

> const url = new URL("http://exa(mple.com;");
> => throws TypeError: Invalid URL.

โหมดอัตราบิตของ WebCodecs AudioEncoder

ตัวแปลงรหัสเสียงบางตัวรองรับการระบุโหมดอัตราบิตของโปรแกรมเปลี่ยนไฟล์เสียง ฟีเจอร์นี้เพิ่มแฟล็ก "bitrateMode" ที่มีค่าเริ่มต้นเป็น "variable" ไปยัง AudioEncoderConfig ของ WebCodec ซึ่งมิเรอร์ตัวเลือกการกำหนดค่าและมีค่าเริ่มต้นอยู่แล้วสำหรับ VideoEncoderConfig

แฟล็กนี้จะอนุญาตให้นักพัฒนาแอปเลือกระหว่างการเข้ารหัสเสียงด้วยอัตราบิตที่เปลี่ยนแปลงได้หรืออัตราบิตคงที่ การใช้งานตัวแปลงรหัสตัวแปลงรหัสบางโปรแกรมอาจมีคำศัพท์ที่แตกต่างกันเล็กน้อย (เช่น CBR กับ VBR สำหรับ Opus) แต่ทุกตัวควรแมปกับแนวคิดทั่วไปของ "ค่าคงที่" เทียบกับ "ตัวแปร" อัตราบิต

ตัวเลือก 2 รายการจะมีผลดังต่อไปนี้

  • ตัวแปร: อนุญาตให้โปรแกรมเปลี่ยนไฟล์เสียงเพิ่มหรือลดอัตราบิตตามเนื้อหาของเสียงที่เข้ารหัส เพื่อรักษาแบนด์วิดท์/ขนาดไบนารีไปพร้อมกับรักษาคุณภาพเป้าหมายไว้ เช่น โปรแกรมเปลี่ยนไฟล์อาจลดอัตราบิตเมื่อเข้ารหัสเสียงเงียบ และเปลี่ยนกลับไปเป็นอัตราบิตแบบเต็มเมื่อเข้ารหัสเสียงพูด
  • คงที่ : บังคับให้โปรแกรมเปลี่ยนไฟล์เสียงคงอัตราบิตเท่าเดิมไม่ว่าเนื้อหาเสียงจะเป็นอย่างไรก็ตาม วิธีนี้มีประโยชน์เมื่อควรใช้แบนด์วิดท์ที่คาดหมายได้

ใน Chrome 119 แฟล็กนี้จะส่งผลต่อตัวแปลงรหัส 2 ตัวใน Chromium คือ Opus และ AAC

การห่อหุ้มคีย์ X25519Kyber768 สำหรับ TLS

ปกป้องการรับส่งข้อมูล TLS ของ Chrome ในปัจจุบันจากการเข้ารหัสควอนตัมในอนาคตด้วยการติดตั้งใช้งานอัลกอริทึมของข้อตกลงเกี่ยวกับคีย์ที่ทนทานต่อควอนตัมของ Kyber768 นี่คือข้อตกลงหลักแบบผสม X25519 + Kyber768 ที่อิงตามมาตรฐาน IETF ข้อกำหนดและการเปิดตัวนี้อยู่นอกขอบเขตของ W3C ข้อตกลงที่สำคัญนี้จะเปิดตัวด้วยการเข้ารหัส TLS และควรมีความโปร่งใสต่อผู้ใช้

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

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

เปิดป๊อปอัปเป็นหน้าต่างแบบเต็มหน้าจอ

ช่วงทดลองใช้จากต้นทางใหม่นี้จะเพิ่มพารามิเตอร์ windowFeatures ของ fullscreen ไปยัง JavaScript API ของ window.open() วิธีนี้ช่วยให้ผู้โทรเปิดป๊อปอัปไปยังโหมดเต็มหน้าจอได้โดยตรงในจอแสดงผลที่มีป๊อปอัปนั้นอยู่ (อิงตาม 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 ที่ไม่ใช่แบบมาตรฐานสำหรับ Shadow DOM ที่ประกาศ

แอตทริบิวต์การติดตามมาตรฐาน shadowrootmode ซึ่งเปิดใช้ Shadow DOM แบบประกาศ จัดส่งใน Chrome 111 แล้ว เรากำลังจะนำแอตทริบิวต์ shadowroot เวอร์ชันเก่าที่ไม่เป็นไปตามมาตรฐานออกจาก Chrome 119 วิธีการย้ายข้อมูลที่ไม่ซับซ้อนคือให้แทนที่ shadowroot ด้วย shadowrootmode