Chrome 122 बीटा

जब तक अलग से न बताया जाए, तब तक नीचे दिए गए बदलाव Android, ChromeOS, Linux, macOS, और Windows के लिए Chrome के सबसे नए बीटा चैनल रिलीज़ पर लागू होते हैं. यहां दी गई सुविधाओं के बारे में ज़्यादा जानने के लिए, दिए गए लिंक या ChromeStatus.com पर दी गई सूची में जाएं. Chrome 122 का बीटा वर्शन 24 जनवरी, 2024 से बीटा वर्शन में उपलब्ध है. आप डेस्कटॉप पर Google.com या Android पर Google Play Store से नया वर्शन डाउनलोड कर सकते हैं.

सीएसएस

इस रिलीज़ में सीएसएस की तीन नई सुविधाएं जोड़ी गई हैं.

इस्तेमाल न की जा सकने वाली सुविधाओं वाली सीएसएस @container क्वेरी कभी मैच नहीं करती

@container ऐसे सिलेक्टर जिनमें काम न करने वाली क्वेरी हैं, वे कभी भी कोई कंटेनर नहीं चुनेंगी. इसका मतलब है कि वे कभी मैच नहीं करेंगे.

इसका मतलब है कि यह क्वेरी कभी भी किसी कंटेनर से मैच नहीं करेगी, भले ही चौड़ाई वाली क्वेरी से मैच करने वाला साइज़ का कंटेनर भी मौजूद हो. उदाहरण के लिए, नीचे दी गई क्वेरी कभी भी किसी ऐसी सुविधा की वजह से मेल नहीं खाएगी जिसकी जानकारी नहीं है:

@container (width > 0px) or (unknown) {}

फ़ॉरवर्ड के साथ काम करने से जुड़ी समस्याओं से बचने के लिए, यह स्पेसिफ़िकेशन में हाल ही में किया गया बदलाव है.

मूल एलिमेंट से इनहेरिट करने वाला सीएसएस स्यूडो-एलिमेंट ::backdrop

शुरुआती वैल्यू से इनहेरिट करने के लिए इस्तेमाल किया जाने वाला ::backdrop स्यूडो-एलिमेंट. इसका मतलब है कि ::backdrop कस्टम प्रॉपर्टी की वैल्यू का इस्तेमाल तब तक नहीं कर सकता, जब तक कि ::backdrop नियम में सीधे तौर पर इसकी जानकारी न दी गई हो. स्पेसिफ़िकेशन में अब बदलाव किया गया है, ताकि ::backdrop को मूल एलिमेंट से शामिल किया जा सके. इस बदलाव से, Chrome लागू करने की प्रक्रिया, नए स्पेसिफ़िकेशन से मैच हो जाती है.

@import के लिए सीएसएस की supports() शर्तें

@import अब supports() की शर्त स्वीकार करता है. अगर supports() शर्त मेल नहीं खाती है, तो इंपोर्ट को फ़ेच नहीं किया जाएगा.

@import "scroll-driven-animations.css" supports(animation-timeline: auto);

supports() के अंदर डाली जाने वाली सुविधा क्वेरी वही हैं जो @supports के साथ इस्तेमाल की जाती हैं

वेब एपीआई

Async Clipboard API: बिना सैनिटाइज़ किया हुआ एचटीएमएल पढ़ें

बिना सैनिटाइज़ एचटीएमएल फ़ॉर्मैट पाने के लिए, read() तरीके में unsanitized का विकल्प जोड़ता है. अगर साइटों में यह प्रॉपर्टी शामिल नहीं है, तो क्लिपबोर्ड से पढ़ी गई साइटों को सैनिटाइज़ कर दिया जाएगा.

डिफ़ॉल्ट रूप से, एक साथ काम नहीं करने वाले एपीआई का इस्तेमाल करके text/html MIME टाइप पढ़ते समय, सैनिटाइज़र को शुरू किया जाता है, ताकि सुरक्षा से जुड़ी समस्याओं की वजह से, एचटीएमएल मार्कअप से कॉन्टेंट को हटाया जा सके. साथ ही, एचटीएमएल में स्टाइल इनलाइन होती हैं. इसकी वजह से बहुत ज़्यादा एचटीएमएल पेलोड होता है और जब वेब डेवलपर या मोबाइल ऐप्लिकेशन से कोई एचटीएमएल कॉन्टेंट पढ़ा जाता है, तो वह कॉन्टेंट की क्वालिटी खराब हो जाती है.

datatransfer.clearData() में से फ़ाइल टाइप के ऑब्जेक्ट न मिटाएं

यह Chrome को spec से मैच करने के लिए अपडेट करता है. इससे यह पता चलता है कि clearData(), फ़ाइल ऑब्जेक्ट पर कोई असर नहीं डालता. यह सिर्फ़ text तरह के ऑब्जेक्ट मिटाता है.

FedCM: डिसकनेक्ट करें

यह नीति, भरोसेमंद पक्ष की वेबसाइट का इस्तेमाल करके, फ़ेडरेटेड लॉगिन खाते को डिसकनेक्ट करने की अनुमति देती है. डिसकनेक्ट किए गए एपीआई का इस्तेमाल करके, कोई भरोसा करने वाला पक्ष, पहचान देने वाली सेवा को यह सूचना दे सकता है कि पहले इस्तेमाल किया गया खाता अब डिसकनेक्ट कर दिया गया है. इसलिए, फ़ेडरेटेड लॉगिन के साथ उस खाते का फिर से इस्तेमाल करने पर, उसे नया खाता माना जाएगा.

iframe में इंटरऑपरेबल माउसडाउन इवेंट रद्द करना

पॉइंटर को iframe से बाहर ले जाने पर, माउस इवेंट रद्द करने के लिए माउस इवेंट को रद्द करने के लिए माउस इवेंट को टारगेट न करें. जब माउस को किसी iframe से बाहर निकाला जाता है, तो Chrome के साथ ही सभी ब्राउज़र mousemove और mouseup इवेंट को iframe पर भेजते हैं. हालांकि, अगर माउसडाउन इवेंट रद्द हो जाता है, तो Chrome मौजूदा समय में WebKit का पुराना अपवाद बनाए रखता है. इस उदाहरण में, माउसmove और माउसअप इवेंट को आउटर फ़्रेम पर भेजा जाता है. WebKit ने पिछले साल इस अपवाद को हटा दिया था और Mozilla ने पिछले कुछ सालों में इस तरह का व्यवहार कभी नहीं दिखाया. यह सुविधा इस खास मामले में, सिर्फ़ Chrome के लिए अपवाद को हटा देगी.

इटरेटर हेल्पर

इटरेटर हेल्पर, इटरेटर के प्रोटोटाइप बनाने के नए तरीके हैं. इनसे इटरेटर को सामान्य तौर पर इस्तेमाल और इस्तेमाल किया जा सकता है.

MessagePort.onclose

Channel Messaging API में हुआ बदलाव. यह किसी MessagePorts के बारे में सूचना देता है कि दूसरे पोर्ट को अलग कर दिया गया है. इसका मतलब है कि close() को कहा जाता है, जिसका मतलब है कि किसी दस्तावेज़ को मिटा दिया गया है या पोर्ट, कचरा इकट्ठा किया गया है.

मुख्य फ़्रेम को जनरेट करने का अनुरोध करने के लिए RTCRtpSender setparameters() एक्सटेंशन

WebRTC के RTCRtpSender.setParameters कॉल में एक वैकल्पिक दूसरा पैरामीटर जोड़ा जाता है, जिसका इस्तेमाल इससे जुड़े एन्कोडर से मुख्य फ़्रेम जनरेट करने के लिए करने के लिए किया जा सकता है.

तरीके सेट करें

सेट के तरीके, JavaScript की बिल्ट-इन Set क्लास में जोड़े गए यूनियन और इंटरसेक्शन जैसे नए तरीके हैं.

स्टोरेज बकेट एपीआई

स्टोरेज बकेट साइटों को, डिवाइस पर मौजूद डेटा को अलग-अलग "बकेट" में व्यवस्थित करने की सुविधा देता है. इसकी मदद से, उपयोगकर्ता एजेंट अन्य बकेट में मौजूद ग्रुप से अलग, ग्रुप किए गए डेटा को निकाल सकते हैं. साथ ही, साइटों को अर्थ के हिसाब से डेटा मैनेज करने की सुविधा देते हैं. हर स्टोरेज बकेट में पहले से मौजूद स्टोरेज एपीआई से जुड़ा डेटा शामिल हो सकता है, जैसे कि IndexedDB और कैशStorage.

URLपैटर्न: hasRegExpGroups

यह जांचने की अनुमति देता है कि क्या कोई URLPattern, एक या उससे ज़्यादा ECMAScript रेगुलर एक्सप्रेशन ग्रुप का इस्तेमाल करता है. इसलिए, हो सकता है कि ऐसे मामलों में इसका इस्तेमाल न किया जाए जहां ECMAScript इंजन उपलब्ध न हो. जैसे, आने वाले समय में प्लान किए जाने वाले कुछ एपीआई. साफ़ शब्दों में कहें, तो इससे यह पता चलता है कि पैटर्न की जांच करने पर डेवलपर को किसी भी तरह का पता लग सकता है. हालांकि, इस जांच को लागू करने के UA की ऐक्सेस होने से सब कुछ आसान हो जाता है.

WebGL DrawingsBufferStorage

WebGL, कई अलग-अलग पिक्सल फ़ॉर्मैट की बनावट और रेंडरबफ़र में रेंडर करने की अनुमति देता है. उदाहरण के लिए, 8-बिट, फ़्लोटिंग-पॉइंट, और एसआरजीबी कोड में बदले गए कोड.

WebGL का ड्रॉइंग बफ़र डिफ़ॉल्ट रूप से 8-बिट होता है, जो कंपोज़िटर को भेजा जाता है. DrawingsBufferStorage की सुविधा, WebGL को इस ड्रॉइंग बफ़र का पिक्सल फ़ॉर्मैट कॉन्फ़िगर करने देती है. इससे, डेवलपर ये काम कर पाते हैं.

  • रेंडरिंग को डिफ़ॉल्ट ड्रॉइंग बफ़र पिक्सल फ़ॉर्मैट में बदलते समय, अतिरिक्त कॉपी से बचें.
  • ऐसा कॉन्टेंट बनाएं जिसमें आठ बिट से ज़्यादा सटीक हों.

बाद वाली सुविधा कई अतिरिक्त ऐप्लिकेशन अनलॉक करती है:

  • अलग-अलग रंगों का एक बहुत बड़ा कॉन्टेंट, जिसमें कोई बदलाव भी नहीं हुआ है.
  • ऐसे मेडिकल ऐप्लिकेशन जिनके लिए आठ बिट से ज़्यादा सटीक जानकारी की ज़रूरत होती है.
  • हाई डाइनैमिक रेंज वाले ऐप्लिकेशन (उपलब्ध होने पर).

TLS के लिए, X25519Kyber768 की कुंजी को एन्क्रिप्ट (सुरक्षित) करने का तरीका

Kyber768 क्वांटम-रेज़रेटिव की-एग्रीमेंट एल्गोरिदम को डिप्लॉय करके, Chrome TLS के मौजूदा ट्रैफ़िक को आने वाले समय में होने वाले क्वांटम क्रिप्ट एनालिसिस से सुरक्षित रखें. यह हाइब्रिड X25519 और Kyber768 का मुख्य कानूनी समझौता है, जो आईईटीएफ़ स्टैंडर्ड पर आधारित है. यह ब्यौरा और लॉन्च, W3C के दायरे से बाहर है. इस अहम कानूनी समझौते को TLS साइफ़र के तौर पर लॉन्च किया जाएगा. साथ ही, यह उपयोगकर्ताओं के लिए पारदर्शी होगा.

ऑरिजिन ट्रायल जारी हैं

Chrome 122 में, नीचे दिए गए ऑरिजिन ट्रायल के लिए ऑप्ट इन किया जा सकता है.

वेब ऐप्लिकेशन के स्कोप एक्सटेंशन

वेब ऐप्लिकेशन के स्कोप (स्कोप फ़ील्ड से तय किया गया) को सिर्फ़ एक ऑरिजिन के पाथ से तय किया जा सकता है. इसका इस्तेमाल यह तय करने के लिए किया जाता है कि ऐप्लिकेशन विंडो का मौजूदा दस्तावेज़, ऐप्लिकेशन का हिस्सा है या नहीं. इससे यह भी तय होता है कि अन्य मेनिफ़ेस्ट सदस्यों में कौनसे यूआरएल की अनुमति है.

scope_extensions की मदद से डेवलपर अपने ऐप्लिकेशन के काम करने के तरीके को बढ़ा सकते हैं. ऐसा करके, वे दूसरे ऑरिजिन को शामिल कर सकते हैं. ऐसा तब किया जा सकता है, जब वेब ऐप्लिकेशन के मुख्य ऑरिजिन और उससे जुड़े ऑरिजिन के बीच कानूनी समझौता हुआ हो.

वेब ऐप्लिकेशन के स्कोप एक्सटेंशन के ऑरिजिन ट्रायल के लिए रजिस्टर करना

कैप्चर किया गया सरफ़ेस कंट्रोल

कैप्चर किया गया सरफ़ेस कंट्रोल एपीआई वेब ऐप्लिकेशन को, कैप्चर किए गए टैब या विंडो में व्हील इवेंट बनाने और कैप्चर किए गए टैब का ज़ूम लेवल पढ़ने या उसमें बदलाव करने देता है.

कैप्चर किए गए सरफ़ेस कंट्रोल ऑरिजिन ट्रायल के लिए रजिस्टर करें.