Google ได้เปิดตัวเว็บเบราว์เซอร์ Chrome 99 ในขณะเดียวกันก็มีโครงการ Chromium ฟรีที่เสถียรซึ่งทำหน้าที่เป็นพื้นฐานของ Chrome วางจำหน่ายแล้ว เบราว์เซอร์ Chrome มีความโดดเด่นด้วยการใช้โลโก้ Google, การมีระบบสำหรับส่งการแจ้งเตือนในกรณีที่เกิดข้อขัดข้อง, โมดูลสำหรับการเล่นเนื้อหาวิดีโอที่มีการป้องกันการคัดลอก (DRM), ระบบสำหรับการติดตั้งการอัปเดตอัตโนมัติและส่งพารามิเตอร์ RLZ เมื่อ กำลังค้นหา Chrome 100 รุ่นถัดไปมีกำหนดการในวันที่ 29 มีนาคม

การเปลี่ยนแปลงที่สำคัญใน Chrome 99:

  • Chrome สำหรับ Android รวมการใช้กลไกความโปร่งใสของใบรับรอง ซึ่งจัดทำบันทึกสาธารณะที่เป็นอิสระสำหรับใบรับรองที่ออกและเพิกถอนทั้งหมด บันทึกสาธารณะทำให้สามารถตรวจสอบการเปลี่ยนแปลงและการดำเนินการทั้งหมดของหน่วยงานออกใบรับรองได้โดยอิสระ และจะช่วยให้คุณสามารถติดตามความพยายามในการสร้างบันทึกปลอมได้ทันที ใบรับรองที่ไม่แสดงในความโปร่งใสของใบรับรองจะถูกเบราว์เซอร์ปฏิเสธโดยอัตโนมัติและแสดงข้อผิดพลาดที่เหมาะสม ก่อนหน้านี้ กลไกนี้เปิดใช้งานเฉพาะเวอร์ชันเดสก์ท็อปและสำหรับผู้ใช้ Android เพียงไม่กี่เปอร์เซ็นต์
  • เนื่องจากการร้องเรียนจำนวนมาก กลไกการเข้าถึงเครือข่ายส่วนตัวซึ่งเสนอก่อนหน้านี้ในโหมดทดสอบถูกปิดใช้งาน โดยมีวัตถุประสงค์เพื่อเสริมสร้างการป้องกันการโจมตีที่เกี่ยวข้องกับการเข้าถึงทรัพยากรบนเครือข่ายท้องถิ่นหรือบนคอมพิวเตอร์ของผู้ใช้ (localhost) จากสคริปต์ที่โหลดเมื่อ เว็บไซต์เปิดอยู่ เพื่อป้องกันการโจมตีดังกล่าวในกรณีที่เข้าถึงทรัพยากรย่อยใดๆ บนเครือข่ายภายใน ขอแนะนำให้ส่งคำขอที่ชัดเจนเพื่อให้ผู้มีอำนาจดาวน์โหลดทรัพยากรย่อยดังกล่าว Google จะตรวจสอบการใช้งานตามความคิดเห็นที่ได้รับและนำเสนอเวอร์ชันที่ได้รับการปรับปรุงในรุ่นต่อๆ ไป
  • ความสามารถในการลบเครื่องมือค้นหาเริ่มต้นกลับมาแล้ว เราขอเตือนคุณว่าเริ่มจาก Chrome 97 ในตัวกำหนดค่าในส่วน "การจัดการเครื่องมือค้นหา" (chrome://settings/searchEngines) ความสามารถในการลบองค์ประกอบออกจากรายการเครื่องมือค้นหาเริ่มต้น (Google, Bing, Yahoo) และแก้ไข พารามิเตอร์ของเครื่องมือค้นหาหยุดทำงานซึ่งทำให้ผู้ใช้จำนวนมากไม่พอใจ
  • บนแพลตฟอร์ม Windows คุณสามารถลบเว็บแอปพลิเคชันที่มีอยู่ในตัวเอง (PWA, Progressive Web App) ผ่านการตั้งค่าระบบหรือแผงควบคุมได้ คล้ายกับการลบแอปพลิเคชัน Windows
  • การทดสอบขั้นสุดท้ายกำลังดำเนินการสำหรับการหยุดชะงักของไซต์ที่อาจเกิดขึ้นหลังจากที่เบราว์เซอร์มาถึงเวอร์ชันที่ประกอบด้วยตัวเลขสามหลักแทนที่จะเป็นสอง (ในคราวเดียวหลังจากการเปิดตัว Chrome 10 ปัญหามากมายเกิดขึ้นในไลบรารีการแยกวิเคราะห์ User-Agent) เมื่อเปิดใช้งานตัวเลือก “chrome://flags#force-major-version-to-100” เวอร์ชัน 100 จะแสดงในส่วนหัวของ User-Agent
  • CSS ให้การสนับสนุนเลเยอร์แบบเรียงซ้อน ซึ่งกำหนดโดยใช้กฎ @layer และนำเข้าผ่านกฎ CSS @import โดยใช้ฟังก์ชัน layer() กฎ CSS ภายในเลเยอร์คาสเคดเดียวเรียงซ้อนกัน ทำให้ง่ายต่อการจัดการคาสเคดทั้งหมด ให้ความยืดหยุ่นในการเปลี่ยนลำดับของเลเยอร์ และอนุญาตให้ควบคุมไฟล์ CSS ได้ชัดเจนยิ่งขึ้น ป้องกันความขัดแย้ง เลเยอร์แบบเรียงซ้อนนั้นสะดวกในการใช้สำหรับธีมการออกแบบ การกำหนดสไตล์เริ่มต้นขององค์ประกอบ และการส่งออกการออกแบบส่วนประกอบไปยังไลบรารีภายนอก
  • เพิ่มเมธอด showPicker() ลงในคลาส HTMLInputElement แล้ว ทำให้คุณสามารถแสดงกล่องโต้ตอบสำเร็จรูปสำหรับการกรอกค่าทั่วไปในฟิลด์ได้ ด้วยประเภท "วันที่", "เดือน", "สัปดาห์", "เวลา", "datetime-local", "สี" และ "ไฟล์" รวมถึงช่องที่รองรับการป้อนอัตโนมัติและรายการข้อมูล ตัวอย่างเช่น คุณสามารถแสดงอินเทอร์เฟซรูปปฏิทินสำหรับเลือกวันที่ หรือชุดสีสำหรับป้อนสี
    Chrome รุ่น 99
  • ในโหมด Origin Trials (คุณสมบัติทดลองที่ต้องเปิดใช้งานแยกต่างหาก) คุณสามารถเปิดใช้งานโหมดการออกแบบสีเข้มสำหรับเว็บแอปพลิเคชันได้ สีและพื้นหลังสำหรับธีมสีเข้มจะถูกเลือกโดยใช้ฟิลด์ color_scheme_dark ใหม่ในไฟล์รายการแอปพลิเคชันเว็บ Origin Trial หมายถึงความสามารถในการทำงานกับ API ที่ระบุจากแอปพลิเคชันที่ดาวน์โหลดจาก localhost หรือ 127.0.0.1 หรือหลังจากการลงทะเบียนและรับโทเค็นพิเศษซึ่งใช้ได้ในระยะเวลาจำกัดสำหรับไซต์เฉพาะ
  • Handwriting Recognition API ได้รับความเสถียรและนำเสนอให้กับทุกคน ทำให้สามารถใช้บริการรู้จำลายมือที่ระบบปฏิบัติการมอบให้ได้
  • สำหรับเว็บแอปพลิเคชันแบบสแตนด์อโลนที่ติดตั้ง (PWA, Progressive Web App) ส่วนประกอบ Window Controls Overlay ได้รับความเสถียร โดยขยายพื้นที่หน้าจอของแอปพลิเคชันไปยังทั้งหน้าต่าง รวมถึงพื้นที่ชื่อเรื่องซึ่งมีปุ่มควบคุมหน้าต่างมาตรฐาน (ปิด ย่อเล็กสุด ขยายใหญ่สุด) จะถูกซ้อนทับ เว็บแอปพลิเคชันสามารถควบคุมการประมวลผลการเรนเดอร์และอินพุตของทั้งหน้าต่าง ยกเว้นบล็อกโอเวอร์เลย์ที่มีปุ่มควบคุมหน้าต่าง
  • ฟังก์ชัน CSS calc() อนุญาตให้ใช้ค่าต่างๆ เช่น "infinity", "-infinity" และ "NaN" หรือนิพจน์ที่ให้ผลลัพธ์คล้ายกัน เช่น 'calc(1/0)'
  • เพิ่มพารามิเตอร์ "เท่านั้น" ลงในโครงร่างสีคุณสมบัติ CSS ซึ่งช่วยให้ระบุได้ว่าองค์ประกอบสีใดที่สามารถแสดงได้อย่างถูกต้อง ("แสง", "มืด", "โหมดกลางวัน" และ "โหมดกลางคืน" ) ช่วยให้คุณสามารถยกเว้นการเปลี่ยนแปลงรูปแบบสีที่บังคับสำหรับองค์ประกอบ HTML แต่ละรายการ ตัวอย่างเช่น หากคุณระบุ “div { color-scheme: only light }” ระบบจะใช้เฉพาะธีมสีอ่อนสำหรับองค์ประกอบ div แม้ว่าเบราว์เซอร์จะบังคับให้เปิดใช้งานธีมสีเข้มก็ตาม
  • หากต้องการเปลี่ยนค่าคุณสมบัติ document.adoptedStyleSheets สามารถใช้ push() และ pop() แทนการกำหนดคุณสมบัติใหม่ทั้งหมดได้ ตัวอย่างเช่น "document.adoptedStyleSheets.push(newSheet);"
  • การใช้งานอินเทอร์เฟซ CanvasRenderingContext2D ได้เพิ่มการรองรับเหตุการณ์ ContextLost และ ContextRestored, วิธีรีเซ็ต (), ตัวเลือก “willReadFrequently”, ตัวแก้ไขข้อความ CSS, การเรนเดอร์ดั้งเดิมแบบ RoundRect และการไล่ระดับสีทรงกรวย ปรับปรุงการรองรับตัวกรอง SVG
  • ลบคำนำหน้า "-webkit-" ออกจากคุณสมบัติ "text-emphasis", "text-emphasis-color", "text-emphasis-position" และ "text-emphasis-style"
  • สำหรับหน้าที่เปิดโดยไม่มี HTTPS ห้ามเข้าถึง Battery Status API ซึ่งช่วยให้คุณได้รับข้อมูลเกี่ยวกับการชาร์จแบตเตอรี่
  • เมธอด navigator.getGamepads() จัดเตรียมเอาต์พุตของอาร์เรย์ของออบเจ็กต์เกมแพด แทนที่จะเป็นรายการเกมแพด GamepadList ไม่ได้รับการสนับสนุนใน Chrome อีกต่อไป เนื่องจากข้อกำหนดมาตรฐานและลักษณะการทำงานของกลไก Gecko และ Webkit
  • WebCodecs API ได้รับการปฏิบัติตามข้อกำหนด โดยเฉพาะอย่างยิ่ง วิธีการ EncodedVideoChunkOutputCallback() และตัวสร้าง VideoFrame() มีการเปลี่ยนแปลง
  • ในเอ็นจิ้น V8 JavaScript คุณสมบัติใหม่คือปฏิทิน การจัดเรียง ชั่วโมงวงจร ระบบตัวเลข โซนเวลา textInfo และ weekInfo ได้ถูกเพิ่มไปยัง Intl.Locale API ซึ่งแสดงข้อมูลเกี่ยวกับปฏิทิน โซนเวลา รวมถึงพารามิเตอร์เวลาและข้อความที่รองรับ const arabicEgyptLocale = ใหม่ Intl.Locale('ar-EG') // ar-EG arabicEgyptLocale.calendars // ['gregory', 'coptic', 'islamic', 'islamic-civil', 'islamic-tbla'] arabicEgyptLocale .collations // ['compat', 'emoji', 'eor'] arabicEgyptLocale.hourCycles // ['h12'] arabicEgyptLocale.numberingSystems // ['arab'] arabicEgyptLocale.timeZones // ['แอฟริกา/ไคโร'] arabicEgyptLocale .textInfo // { ทิศทาง: 'rtl' } japaneseLocale.textInfo // { ทิศทาง: 'ltr' } chineseTaiwanLocale.textInfo // { ทิศทาง: 'ltr' }
  • เพิ่มฟังก์ชัน Intl.supportedValuesOf(code) ซึ่งส่งคืนอาร์เรย์ของตัวระบุที่รองรับสำหรับ Intl API สำหรับปฏิทิน การจัดเรียง สกุลเงิน ระบบตัวเลข โซนเวลา และคุณสมบัติของหน่วย Intl.supportedValuesOf('unit') // ['เอเคอร์', 'บิต', 'ไบต์', 'เซลเซียส', 'เซนติเมตร', …]
  • มีการปรับปรุงเครื่องมือสำหรับนักพัฒนาเว็บ แผงเครือข่ายให้ความสามารถในการชะลอคำขอ WebSocket เพื่อแก้ไขข้อบกพร่องภายใต้เงื่อนไขของการเชื่อมต่อเครือข่ายที่ช้า มีการเพิ่มแผงลงในแท็บ "แอปพลิเคชัน" เพื่อติดตามรายงานที่สร้างผ่าน API การรายงาน แผงตัวบันทึกรองรับการรอก่อนที่องค์ประกอบจะมองเห็นหรือคลิกได้ก่อนที่จะเล่นคำสั่งที่บันทึกไว้ การจำลองธีมสีเข้มได้รับการทำให้ง่ายขึ้น ปรับปรุงการควบคุมแผงควบคุมจากหน้าจอสัมผัส ในเว็บคอนโซล มีการเพิ่มการรองรับลำดับหลีกสำหรับการเน้นข้อความเป็นสี การรองรับมาสก์ไวด์การ์ด %s, %d, %i และ %f และปรับปรุงการทำงานของตัวกรองข้อความแล้ว
    Chrome รุ่น 99

นอกเหนือจากนวัตกรรมและการแก้ไขข้อบกพร่องแล้ว เวอร์ชันใหม่ยังกำจัดช่องโหว่ 28 รายการ ช่องโหว่จำนวนมากถูกระบุอันเป็นผลมาจากการทดสอบอัตโนมัติโดยใช้เครื่องมือ AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer และ AFL ไม่พบปัญหาสำคัญที่ทำให้สามารถข้ามการป้องกันเบราว์เซอร์ทุกระดับและรันโค้ดบนระบบภายนอกสภาพแวดล้อมแซนด์บ็อกซ์ ในฐานะส่วนหนึ่งของโปรแกรมรางวัลเงินสดสำหรับการค้นพบช่องโหว่สำหรับรุ่นปัจจุบัน Google จ่ายเงินรางวัล 21 รางวัล มูลค่า 96 ดอลลาร์ (หนึ่งรางวัล $15000, สองรางวัล $10000, สองรางวัล $7000, สองรางวัล $5000, สองรางวัล $3000 และหนึ่งรางวัล $2000) และ $1000 .

ที่มา: opennet.ru

เพิ่มความคิดเห็น