Chrome 118 का बीटा वर्शन

सीएसएस के लिए स्कोप की गई स्टाइल, मीडिया की अन्य सुविधाएं, कीबोर्ड से फ़ोकस करने लायक स्क्रोल कंटेनर वगैरह.

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

सीएसएस

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

स्कोप की गई स्टाइल

@scope नियम की मदद से डेवलपर, किसी दिए गए स्कोपिंग रूट और स्टाइल एलिमेंट को स्टाइल के स्कोप कर सकते हैं.

सीएसएस लॉजिकल फ़्लो-रिलेटिव वैल्यू

मौजूदा सीएसएस प्रॉपर्टी में ये नई वैल्यू जोड़ता है:

  • float: inline-start
  • float: inline-end
  • clear: inline-start
  • clear: inline-end
  • resize: block
  • resize: inline

एलिमेंट के लिखने के मोड या निर्देश या उसमें मौजूद ब्लॉक के आधार पर, ये फ़्लो-रिलेटिव डायरेक्शनल कीवर्ड, किसी फ़िज़िकल वैल्यू देते हैं.

मीडिया क्वेरी: \rs-reduced-transparency सुविधा

इसमें prefers-reduced-transparency की मीडिया सुविधा जोड़ी जाती है. इससे डेवलपर, ओएस में कम पारदर्शिता के लिए, वेब कॉन्टेंट को उपयोगकर्ता की चुनी हुई प्राथमिकता के हिसाब से बदल पाते हैं. जैसे, macOS पर पारदर्शिता को कम करें सेटिंग. reduce या no-preference सही विकल्प हैं.

ट्रांसफ़ॉर्म-बॉक्स सीएसएस प्रॉपर्टी में स्ट्रोक-बॉक्स, कॉन्टेंट-बॉक्स, और बॉर्डर-बॉक्स का इस्तेमाल करना

इस सहायता को जोड़ने से, transform प्रॉपर्टी के लिए पहचान बॉक्स के तरीके को कैलकुलेट करने के तरीके में बदलाव किया जा सकता है. यह अतिरिक्त ट्रांसफ़ॉर्म या ग्राफ़िकल इफ़ेक्ट को चालू करता है. उदाहरण के लिए, कॉन्टेंट बॉक्स में किसी पॉइंट पर घूमना, जहां किसी एलिमेंट के बॉर्डर की चौड़ाई का असर नतीजे पर नहीं होता. इसके अलावा, जहां किसी (SVG) एलिमेंट के स्ट्रोक को नतीजे पर असर डालना चाहिए, उदाहरण के लिए, किसी स्ट्रोक वाले आकार को उसके बीच के चारों ओर घुमाते समय—इसमें स्ट्रोक भी शामिल है.

एचटीएमएल

कीबोर्ड पर फ़ोकस करने लायक स्क्रोल कंटेनर

क्रम के मुताबिक फ़ोकस नेविगेशन का इस्तेमाल करके, स्क्रोल कंटेनर को फ़ोकस करने लायक बनाकर, सुलभता को बेहतर बनाता है. इस बदलाव से पहले, 'टैब कुंजी' स्क्रोलर पर तब तक फ़ोकस नहीं करती है, जब तक कि tabIndex को साफ़ तौर पर 0 या इससे ज़्यादा पर सेट न किया गया हो. स्क्रोलर को डिफ़ॉल्ट रूप से फ़ोकस करने लायक बनाने से, जो उपयोगकर्ता माउस का इस्तेमाल नहीं कर सकते (या नहीं करना चाहते) वे कीबोर्ड के टैब और ऐरो बटन का इस्तेमाल करके क्लिप किए गए कॉन्टेंट को ऐक्सेस कर सकते हैं. यह तरीका ऐसे स्क्रोलर पर लागू नहीं होता जिनमें कीबोर्ड पर फ़ोकस करने लायक एलिमेंट होते हैं, क्योंकि उन्हें पहले से ही कीबोर्ड से ऐक्सेस किया जा सकता है.

विकल्प लेबल एट्रिब्यूट के लिए क्वर्क मोड (पुराने वर्शन पर काम करने की सुविधा) को हटाएं

विकल्प एलिमेंट, label एट्रिब्यूट के साथ काम करते हैं. इसकी वजह से, विकल्प एलिमेंट के चाइल्ड टेक्स्ट के बजाय, एट्रिब्यूट के अंदर मौजूद टेक्स्ट को रेंडर करने का विकल्प दिखता है. यह फ़ंक्शन क्वर्क मोड में बंद रहता है. इसमें लेबल एट्रिब्यूट को अनदेखा किया जाता है और चाइल्ड टेक्स्ट हमेशा रेंडर होता है. इस बदलाव में हमेशा स्टैंडर्ड मोड और क्वर्क मोड, दोनों में लेबल एट्रिब्यूट का इस्तेमाल किया जाएगा.

वेब एपीआई

प्राइवसी सैंडबॉक्स (पीएसबी) के लिए रजिस्ट्रेशन

प्राइवसी सैंडबॉक्स के काम करने और मेज़रमेंट से जुड़े एपीआई, सामान्य रूप से उपलब्ध होने के लिए तैयार हो रहे हैं. इसलिए, हम यह पक्का करना चाहते हैं कि इन टेक्नोलॉजी का इस्तेमाल, तय किए गए मकसद के मुताबिक और पारदर्शिता के साथ किया जाए. इन एपीआई में, Attribution Reporting, Protected Audience API, Topics API, Private एग्रीगेशन API, और Shared Storage API शामिल हैं. PSB, प्राइवसी सैंडबॉक्स के काम करने और मेज़रमेंट एपीआई के लिए, डेवलपर के रजिस्ट्रेशन की नई प्रोसेस शुरू कर रहा है. Chrome, रजिस्टर की गई साइटों की सूची, रजिस्ट्रेशन सर्वर (कॉम्पोनेंट अपडेटर के ज़रिए) से फ़ेच करेगा. साथ ही, इसका इस्तेमाल प्राइवसी सैंडबॉक्स एपीआई को ऐक्सेस करने के लिए करेगा.

JavaScript से सेट की गई उन सभी कुकी को ब्लॉक करें जिनमें कंट्रोल वर्ण शामिल हैं

इससे अपडेट होता है कि JavaScript से सेट की गई कुकी में कंट्रोल वर्णों को कैसे मैनेज किया जाता है. खास तौर पर, सभी कंट्रोल वर्णों की वजह से पूरी कुकी अस्वीकार हो जाती है. पहले, कुकी लाइन में एक NULL वर्ण, नई लाइन शुरू करने के लिए इस्तेमाल होने वाला वर्ण या लाइन फ़ीड वर्ण की वजह से, इसे पूरी तरह से अस्वीकार करने के बजाय इसे छोटा किया जाता था. इसकी वजह से, कुछ खास परिस्थितियों में नुकसान पहुंचाने वाले व्यवहार चालू हो सकते थे. यह तरीका, Chrome को RFC6265bis के नए ड्राफ़्ट में बताए गए व्यवहार के हिसाब से अलाइन करता है. इस बदलाव को --disable-features=BlockTruncatedCookies या BlockTruncatedCookie एंटरप्राइज़ नीति का इस्तेमाल करके बंद किया जा सकता है. यह नीति, इस बदलाव की वजह से कोई रुकावट आने पर भी कई माइलस्टोन के लिए मौजूद रहेगी.

सभी भाषाओं में एक जैसा कम से कम फ़ॉन्ट साइज़ होना चाहिए

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

एक ही दस्तावेज़ वाले नेविगेशन पर UA ट्रांज़िशन का पता लगाएं

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

यूआरएल पार्सर, यूआरएल के पाथ में प्रतिशत के साथ कोड में बदले गए ASCII वर्णों को डिकोड नहीं करेगा

यह बदलाव करने से यूआरएल पार्सर, यूआरएल के पाथ में प्रतिशत-एन्कोडेड ASCII वर्णों को डिकोड नहीं करता है, जैसे कि "%41" ('A'). इस बदलाव से पहले:

const url = new URL("http://example.com/%41");
url.href "http://example.com/A" 

इस बदलाव के बाद:

const url = new URL("http://example.com/%41"); 
url.href "http://example.com/%41"

सुरक्षित ऑडियंस की नेगेटिव टारगेटिंग

विज्ञापन स्पेस के लिए ऑनलाइन विज्ञापन नीलामियों में, कभी-कभी कुछ ऑडियंस को अपना विज्ञापन दिखाने से रोकना मददगार होता है. इस सिद्धांत को नेगेटिव टारगेटिंग कहा जाता है. उदाहरण के लिए, हो सकता है कि आप मौजूदा ग्राहकों को नए ग्राहक के विज्ञापन न दिखाना चाहें. नए ग्राहक हासिल करने वाले कैंपेन में, आम तौर पर यह शर्त बहुत अहम होती है. सुरक्षित ऑडियंस की सुविधा फ़िलहाल, विज्ञापनों में उन उपयोगकर्ताओं को टारगेट करने की सुविधा देती है जो किसी पसंदीदा ग्रुप में शामिल हुए हैं. ये वे उपयोगकर्ता हैं जो वेब पर पिछली कुछ गतिविधियों के ज़रिए जुड़े हैं. यह सुविधा, सुरक्षित ऑडियंस की सुविधा का इस्तेमाल करके, नेगेटिव टारगेटिंग को चालू करती है. इसके लिए, नए विज्ञापन सिर्फ़ उन उपयोगकर्ताओं को टारगेट करते हैं जो दिए गए इंटरेस्ट ग्रुप में शामिल नहीं हैं. इस तरह, हम विज्ञापन देने वालों को उपयोगकर्ताओं के नए ग्रुप को टारगेट करने की सुविधा देंगे. इसके लिए, वे Protected Audience API के निजता को बनाए रखने वाले मौजूदा कॉन्सेप्ट का इस्तेमाल करेंगे.

पेमेंट उपयोगकर्ता को चालू करने की ज़रूरी शर्त हटाएं

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

एक्सटेंशन सर्विस वर्कर में WebUSB

इसकी मदद से वेब डेवलपर, एक्सटेंशन इवेंट को जवाब देते समय WebUSB API का इस्तेमाल कर सकते हैं. इसके लिए, वह ब्राउज़र एक्सटेंशन के ज़रिए रजिस्टर किए गए सर्विस वर्कर को WebUSB API की जानकारी दिखाता है. फ़िलहाल, यह एपीआई उन सर्विस वर्कर के लिए उपलब्ध नहीं है जिन्हें साइटों पर रजिस्टर किया गया है.

एक्सएमएल दस्तावेज़ में एक के बाद एक कई सीएडेटा सेक्शन को एक नोड में मर्ज किया जाता है

libxml में कोई गड़बड़ी होने की वजह से, XHTML दस्तावेज़ में मौजूद सीएएटीए सेक्शन कभी-कभी गलती से कई नोड जनरेट कर सकता है. ऐसा, दस्तावेज़ के साइज़ और दस्तावेज़ में सीएएटीए सेक्शन की स्थिति पर निर्भर करता है. जब कोई एक सीएएटीए सेक्शन एक से ज़्यादा इनपुट पार्सर हिस्सों को फैलाता है, तो libxml बफ़र हो जाता है. साथ ही, सीएटीए इनपुट को 300 बाइट प्रति सेकंड के तौर पर उत्सर्जित किया जाता है. यह अचानक से एक सीएटीए सेक्शन को कई नोड में बदल देता है (अगर इनपुट हिस्से की लंबाई 300 बाइट से ज़्यादा हो). इस बदलाव से, पार्स करने के दौरान सिबलिंग सीएएटीए सेक्शन के नोड, एक सीएटीए सेक्शन में मर्ज हो जाते हैं. इससे पार्स करने के दौरान libxml गड़बड़ी ठीक हो जाती है. हालांकि, यह लिखे गए अलग-अलग नोड को भी मर्ज कर देता है. उदाहरण के लिए: <![CDATA[foo]]><!CDATA[bar]]>, "foobar": CDATA "foobar" कॉन्टेंट के साथ एक सीएटीए DOM नोड जनरेट करेगा.

beforeunload हैंडलर के डायलॉग बॉक्स की स्थिति में बदलाव करें

beforeunload इवेंट के लिए, 'रद्द करें' डायलॉग बॉक्स में दो नए बदलाव किए गए हैं.

अगर event.preventDefault() कॉल किया जाता है, तो 'रद्द करें' डायलॉग बॉक्स का अनुरोध करें. अगर event.returnValue खाली स्ट्रिंग है, तो 'रद्द करें' डायलॉग बॉक्स न दिखाएं.

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

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

WebRTC कोड में बदले गए बदलाव: मेटाडेटा फ़ंक्शन में बदलाव करें

WebRTC Encode Transform API में ऐसी सुविधाएं जोड़ी गई हैं जिनकी मदद से ऑडियो और वीडियो फ़्रेम के मेटाडेटा में बदलाव किया जा सकता है. इस्तेमाल के ऐसे कई उदाहरण मिले हैं जिनके लिए WebRTC की कोड में बदली गई मीडिया फ़ाइलों को पहले डिकोड किए बिना, उनमें बदलाव करना ज़रूरी है. इनमें शामिल हैं:

  • पहले कोड में बदला गया डेटा भेजा जा रहा है.
  • कोड में बदले गए फ़ॉर्म में मिला डेटा भेजना.
  • कोड में बदले गए फ़ॉर्म में डेटा पाना और उसे फ़ॉरवर्ड करना.

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

RTCEnCodeFrameSetMetadata के ऑरिजिन ट्रायल के लिए रजिस्टर करें.

सेवा बंद करना और हटाना

Chrome के इस वर्शन में, हटाए जाने वाले और हटाए जाने वाले पेजों की जानकारी दी जाएगी. इनके बारे में नीचे बताया गया है. पहले से हटाए गए, हटाए गए पेजों, और मौजूदा बंदियों की सूची के लिए, ChromeStatus.com पर जाएं.

Chrome के इस रिलीज़ से नीचे दी गई सुविधा हट गई है.

सामान्य रूप से काम नहीं करने वाले कुछ कीवर्ड हटाने के बारे में जानकारी

Chrome 118 में, सबसे कम इस्तेमाल करने वाले नॉन-स्टैंडर्ड appearance कीवर्ड बंद कर दिए जाएंगे. इस सुविधा के बंद होने के बाद, अगर दिखने वाली प्रॉपर्टी उस कीवर्ड का इस्तेमाल वैल्यू के तौर पर करती है, तो उसे अनदेखा कर दिया जाएगा. Chrome 118 में बंद किए जा रहे कीवर्ड में वे कीवर्ड शामिल हैं जिनका 0.001% से कम इस्तेमाल किया गया है:

  • media-slider
  • media-sliderthumb
  • media-volume-slider
  • media-volume-sliderthumb
  • sliderthumb-horizontal
  • sliderthumb-vertical

बैकग्राउंड

सिर्फ़ स्टैंडर्ड appearance कीवर्ड का इस्तेमाल किया जा सकता है. इसलिए, हम appearance (और -webkit-appearance) कीवर्ड हटा रहे हैं, जो स्टैंडर्ड कीवर्ड नहीं हैं. पूरी सूची यहां दी गई है:

  • inner-spin-button
  • media-slider
  • media-sliderthumb
  • media-volume-slider
  • media-volume-sliderthumb
  • push-button
  • searchfield-cancel-button
  • slider-horizontal
  • sliderthumb-horizontal
  • sliderthumb-vertical
  • square-button

ध्यान दें कि slider-vertical वैल्यू को इस पैच के हिस्से के तौर पर नहीं हटाया जाएगा. इसका इस्तेमाल <input type=range> वर्टिकल को अनुमति देने के लिए किया जाता है. फ़ॉर्म कंट्रोल वर्टिकल राइटिंग मोड के पूरी तरह से लागू होने के बाद, इसे हटा दिया जाएगा.

बंद किए जाने से पहले, अगर ऊपर दिए गए किसी भी कीवर्ड का इस्तेमाल किया जाता है, तो कंसोल चेतावनी दिखेगी. हालांकि, इस कीवर्ड को एक मान्य वैल्यू के तौर पर माना जाएगा.