Chrome 116 बीटा

सीएसएस मोशन पाथ, बैक/फ़ॉरवर्ड कैश मेमोरी नोट को रीस्टोर करने की वजह एपीआई, दस्तावेज़ में मौजूद पिक्चर में पिक्चर वग़ैरह.

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

सीएसएस

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

सीएसएस मोशन पाथ

मोशन पाथ की मदद से, लेखक किसी भी ग्राफ़िकल ऑब्जेक्ट को पोज़िशन कर सकते हैं और उसे डेवलपर के बताए गए पाथ पर ऐनिमेट कर सकते हैं. इससे बदलाव की कई नई संभावनाएं बढ़ती हैं. जैसे, translate() फ़ंक्शन में इस्तेमाल होने वाले मानक आयताकार निर्देशांक के बजाय पोलर निर्देशांक (ray() फ़ंक्शन के साथ) इस्तेमाल करके पोज़िशन तय करना या तय पाथ में किसी एलिमेंट को ऐनिमेट करना. इससे जटिल और खूबसूरत 2d स्पेशल ट्रांज़िशन को तय करने में आसानी होती है. पाथ के तौर पर circle(), ellipse(), rect(), inset(), xywh(), polygon(), ray(), और url() दिए जा सकते हैं.

डिसप्ले और कॉन्टेंट दिखने की सुविधा देने वाले ऐनिमेशन

Chrome 116, मुख्य-फ़्रेम ऐनिमेशन में display और content-visibility प्रॉपर्टी के साथ काम करता है. इस सहायता की मदद से डेवलपर, एग्ज़िट ऐनिमेशन बना सकते हैं. इसके बाद, एलिमेंट अपने-आप display: none या content-visibility: hidden बन जाता है. इसके लिए, ऐनिमेशन के खत्म होने के बाद उस स्विच को हैंडल करने के लिए, कोई JavaScript लिखने की ज़रूरत नहीं होती. इससे एलिमेंट के एग्ज़िट ऐनिमेशन, पूरी तरह सीएसएस में जोड़े जा सकते हैं.

वेब एपीआई

AbortSignal.any()

ऐसा सिग्नल दिखाता है जो किसी भी सोर्स सिग्नल के रद्द होने पर रद्द हो जाता है. डेवलपर, इसका इस्तेमाल ऐसे सोर्स को मिलाने के लिए कर सकते हैं जो निरस्त किए जाते हैं. उदाहरण के लिए, AbortSignal.timeout() के साथ तय किए गए टाइम आउट और AbortController से जुड़े सिग्नल. साथ ही, उन्हें fetch() जैसे एसिंक्रोनस एपीआई को पास करने के लिए.

फ़ेच के लिए BYOB की सुविधा

Chrome का ReadableStream लागू करना, Bring-your-own-buffer (BYOB) रीडर को ऐक्सेस करने की सुविधा देता है. इससे, यह पढ़ने में आसान हो जाता है कि कौनसी बाइट स्ट्रीम को पढ़ा जा सकता है. अब Response.body, पढ़ने लायक "डिफ़ॉल्ट" की जगह एक बाइट स्ट्रीम भी है. ऐसा करने पर, फ़ेच एपीआई को BYOB रीडर के साथ इस्तेमाल किया जा सकता है. साथ ही, कचरा इकट्ठा करने की प्रक्रिया में कमी आती है और इसकी कॉपी बनाई जाती हैं. साथ ही, इससे लोगों को बेहतर जवाब देने में मदद मिलती है. अब Blob.stream() को भी इस ऑप्टिमाइज़ेशन का फ़ायदा मिलेगा.

बैक/फ़ॉरवर्ड कैश मेमोरी Not Restoreरॉ का एपीआई

NotResbor API, इस बात की सूची के बारे में रिपोर्ट देगा कि किन वजहों से किसी पेज को फ़्रेम ट्री स्ट्रक्चर में BFcache से नहीं दिखाया गया है. यह जानकारी, Performance तहतही API के ज़रिए जनरेट की जाती है.

दस्तावेज़ की पिक्चर में पिक्चर

दस्तावेज़ पिक्चर में पिक्चर एक नया एपीआई जोड़ता है. इससे, सबसे ऊपर वाली विंडो को खोला जा सकता है, जिसमें ज़रूरत के हिसाब से HTMLElements दिखाए जा सकते हैं. यह मौजूदा HTMLVideoElement API पर एक एक्सपैंशन है, जो सिर्फ़ HTMLVideoElement को पिक्चर में पिक्चर (पीआईपी) विंडो में रखने की अनुमति देता है. इससे वेब डेवलपर, लोगों को पीआईपी की सुविधा का बेहतर अनुभव दे पाते हैं.

अनुमतियों से जुड़ी नीति के मूल में बड़े किए गए वाइल्डकार्ड

अनुमति वाली सूची में शामिल सबडोमेन वाइल्डकार्ड से कुछ ज़रूरी सुविधा मिली. हालांकि, यह मौजूदा वाइल्डकार्ड पार्सर से अलग था. साथ ही, इसमें नॉवल कोड और खास जानकारी के लिए ज़रूरी काम था. इस कार्रवाई से, कॉन्टेंट की सुरक्षा के बारे में मौजूदा नीति के कुछ हिस्सों का फिर से इस्तेमाल किया जाएगा. साथ ही, अनुमति वाली सूची में scheme + wildcard domain और wildcard port को अनुमति दी जाएगी. खास तौर पर, यह इंटेंट अनुमति वाली सूची में दिए गए ऑरिजिन के बजाय, Host-source और स्कीम-source की परिभाषा को अपनाएगा. इसके लिए, यह ज़रूरी होगा कि पाथ-पार्ट खाली हो (ऐसा इसलिए, क्योंकि अनुमतियां नीतियां मिलते-जुलते ऑरिजिन पर लागू होती हैं).

FedCM बंडल: लॉगिन संकेत एपीआई, उपयोगकर्ता जानकारी एपीआई, और आरपी कॉन्टेक्स्ट एपीआई

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

लॉगिन संकेत एपीआई की मदद से, भरोसेमंद पक्ष (आरपी) उस उपयोगकर्ता खाते के बारे में संकेत दे सकता है जिसे वह FedCM यूज़र इंटरफ़ेस (यूआई) में दिखाना चाहता है. खास तौर पर, इसका इस्तेमाल लौटने वाले उपयोगकर्ताओं को बेहतर UX देने के लिए किया जाता है.

User Info API, पहचान देने वाली सेवा (IdP) को उपयोगकर्ता की जानकारी फ़ेच करने की सुविधा देता है, ताकि वे लौटने वाले उपयोगकर्ताओं के लॉगिन अनुभव को मनमुताबिक बना सकें. उदाहरण के लिए, पसंद के मुताबिक बनाए गए “IdP की मदद से साइन इन करें” बटन का इस्तेमाल करके, ऐसा किया जा सकता है.

आरपी कॉन्टेक्स्ट एपीआई की मदद से आरपी, FedCM डायलॉग बॉक्स का अनुरोध कर सकता है. इसमें, "साइन इन करें" टाइटल को "साइन अप करें", "इस्तेमाल करें" या "जारी रखें" से बदला जाना चाहिए. इससे उपयोगकर्ता को सही जानकारी दिखेगी.

माउस और पॉइंटर के साथ कंपोज़ नहीं किए गए इवेंट, अंदर या बाहर निकलते हैं

mouseenter, mouseleave, pointerenter, और pointerleave इवेंट "false" में, event.composed प्रॉपर्टी बनाएं, ताकि यह खास जानकारी का पालन कर सके और इंटरऑप गैप को ठीक कर सके. माउस इवेंट के लिए यूज़र इंटरफ़ेस (यूआई) इवेंट स्पेसिफ़िकेशन और पॉइंटर इवेंट स्पेसिफ़िकेशन, दोनों में इन इवेंट को नॉन-कंपोज़्ड के तौर पर बताया गया है. दोनों खास जानकारी कुछ साल पहले अपनी मूल परिभाषाओं से अलग हो गईं: https://github.com/w3c/uievents/pull/210 https://github.com/w3c/pointerevents/pull/461, इंटरऑप गैप को ठीक करने के साथ-साथ, यह बदलाव इन इवेंट के गलत तरीके से डबल या ट्रिपल डिस्पैच को भी ठीक करते हैं. इसकी मदद से, जब Chromium में शैडो डीओएम होस्ट को सुना जाता है

दस्तावेज़.open सैंडबॉक्स इनहेरिटेंस हटाएं

फ़िलहाल, जब document.open किसी दूसरी विंडो को टारगेट करता है, तो कॉलर के सैंडबॉक्स फ़्लैग, कॉल करने वाले पर लागू किए जाते हैं. इस बदलाव के बाद, ऐसा नहीं होगा..

नेविगेशन टाइमिंग में गंभीर-CH की वजह से रीस्टार्ट हुआ

वेबसाइटें यह बता सकती हैं कि क्लाइंट से जुड़ा कोई खास संकेत, उस पेज के लिए ज़रूरी है. इसके लिए, उसे Critical-CH एचटीटीपी रिस्पॉन्स हेडर में शामिल किया जा सकता है. ऐसा करने से, कनेक्शन रीस्टार्ट तब होगा, जब Critical-CH एचटीटीपी रिस्पॉन्स हेडर में मौजूद संकेत को शुरुआत में भेजे गए एचटीटीपी अनुरोध में शामिल किया जा सकता था, लेकिन ऐसा नहीं किया गया था. यह इंटेंट, PerformanceNavigationTiming इंटरफ़ेस में readonly attribute DOMHighResTimeStamp criticalCHRestart; जोड़ने का सुझाव देता है.

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

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

COOP: सीमित-गुण

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

COOP पाबंदी-प्रॉपर्टी के ऑरिजिन ट्रायल के लिए रजिस्टर करें.

FedCM साइन-इन स्टेटस एपीआई

फ़ेडरल क्रेडेंशियल मैनेजमेंट एपीआई (FedCM) का आईडीपी (IdP) साइन-इन स्टेटस एपीआई, उपयोगकर्ताओं के लॉग-इन/आउट होने पर ब्राउज़र को सिग्नल भेजने की अनुमति देता है. इससे FedCM, UX को ऑप्टिमाइज़ करके अपनी निजता प्रॉपर्टी बेहतर बना पाता है.

FedCM साइन-इन के ऑरिजिन ट्रायल के लिए रजिस्टर करना

एडिट कॉन्टेक्स्ट एपीआई

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

EditContext API के ऑरिजिन ट्रायल के लिए रजिस्टर करना

लंबी ऐनिमेशन फ़्रेम टाइमिंग

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

डेवलपर, इसका इस्तेमाल "सुस्ती" के लिए डाइग्नोस्टिक के तौर पर कर सकते हैं. इसे आईएनपी से मापा जाता है. ऐसा मुख्य थ्रेड में कंजेशन की वजह का पता लगाकर किया जाता है, जो अक्सर खराब आईएनपी की वजह होती है.

लॉन्ग ऐनिमेशन फ़्रेम टाइमिंग के ऑरिजिन ट्रायल के लिए रजिस्टर करना