सीएसएस मोशन पाथ, बैक/फ़ॉरवर्ड कैश मेमोरी की वजह से रीसेट नहीं किया गया एपीआई, दस्तावेज़ में पिक्चर में पिक्चर की सुविधा वगैरह.
जब तक अलग से न बताया जाए, तब तक बताए गए बदलाव 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()
के साथ तय किए गए टाइम आउट और किसी कंट्रोलर से जुड़े सिग्नल को मिलाकर, उन्हें fetch()
जैसे एसिंक्रोनस एपीआई को भेजा जा सकता है.
फ़ेच के लिए BYOB की सुविधा
Chrome ने ReadableStream लागू की है. इसकी मदद से, पढ़ने लायक बाइट स्ट्रीम के लिए, 'अपना खुद का बफ़र लाएं' (BYOB) को ऐक्सेस किया जा सकता है. अब Response.body
, "डिफ़ॉल्ट" के बजाय एक बाइट स्ट्रीम भी है, जिसे आसानी से पढ़ा जा सकता है आसानी से पढ़ा जा सकता है. यह फे़च एपीआई को बीवायओबी रीडर के साथ इस्तेमाल करने में मदद करता है, जिससे कूड़ा इकट्ठा करने का ओवरहेड और कॉपी कम होती है. साथ ही, उपयोगकर्ताओं को रिस्पॉन्स मिलने में आसानी होती है. अब Blob.stream()
को भी इस ऑप्टिमाइज़ेशन से फ़ायदा मिलता है.
बैक/फ़ॉरवर्ड कैश मेमोरी की वजह से कॉन्टेंट वापस लाने की वजह से एपीआई
NotReturnReturn API की मदद से, उन वजहों की सूची देखी जा सकती है जिनकी वजह से किसी पेज को फ़्रेम ट्री के स्ट्रक्चर में, BFcache से नहीं दिखाया जा सकता. इसके लिए, Performance दवाTiming API का इस्तेमाल करना होगा.
पिक्चर में पिक्चर
दस्तावेज़ पिक्चर में पिक्चर में हमेशा चालू रहने वाली विंडो खोलने के लिए एक नया एपीआई जोड़ा जाता है. इस विंडो को आर्बिट्रेरी HTMLElements
से भरा जा सकता है. यह बदलाव, मौजूदा HTMLVideoElement
API के साथ किया जा रहा है, जिसकी मदद से HTMLVideoElement
को सिर्फ़ पिक्चर में पिक्चर (पीआईपी) विंडो में रखा जा सकता है. इससे वेब डेवलपर, उपयोगकर्ताओं को पीआईपी का बेहतर अनुभव दे पाते हैं.
अनुमतियों की नीति के ऑरिजिन में, बड़ा किया गया वाइल्डकार्ड
अनुमति वाली सूची में सबडोमेन वाइल्डकार्ड से कुछ अहम सुविधाएं मिली हैं. हालांकि, ये मौजूदा वाइल्डकार्ड पार्सर और नॉवल कोड और खास काम के लिए ज़रूरी नहीं थे. यह इंटेंट, कॉन्टेंट की सुरक्षा से जुड़ी नीति की मौजूदा खास शर्तों के कुछ हिस्सों का फिर से इस्तेमाल करेगा. साथ ही, अनुमति वाली सूची में scheme + wildcard domain
और wildcard port
को शामिल करने की अनुमति, इस खर्च को कम करने के लिए है. खास तौर पर, यह इंटेंट, अनुमति वाली सूची की परिभाषा में ऑरिजिन के बजाय, Host-source और स्कीम-source की परिभाषा को लागू करेगा, जबकि पाथ-पार्ट के खाली होने की ज़रूरत होगी (क्योंकि अनुमतियां नीतियां, मैचिंग ऑरिजिन पर लागू होती हैं).
FedCM बंडल: लॉगिन हिंट एपीआई, उपयोगकर्ता की जानकारी का एपीआई, और आरपी कॉन्टेक्स्ट एपीआई
बंडल किए गए इस अपडेट से, कस्टमाइज़ेशन के लिए फ़ेडरेटेड क्रेडेंशियल मैनेजमेंट एपीआई (FedCM) का इस्तेमाल करने वाले फ़ेडरेटेड लॉगिन फ़्लो की अनुमति मिलती है.
लॉगिन हिंट एपीआई की मदद से, भरोसा करने वाला पक्ष (आरपी) उस उपयोगकर्ता खाते के बारे में संकेत दे सकता है जिसे वह FedCM यूज़र इंटरफ़ेस (यूआई) में दिखाना चाहता है. मुख्य रूप से इसका इस्तेमाल, लौटने वाले उपयोगकर्ताओं को बेहतर उपयोगकर्ता अनुभव देने के लिए किया जाता है.
उपयोगकर्ता की जानकारी का एपीआई, पहचान देने वाली सेवा (आईडीपी) को उपयोगकर्ता की जानकारी फ़ेच करने की अनुमति देता है. इससे, लौटने वाले उपयोगकर्ताओं के लिए लॉगिन अनुभव को अपने हिसाब से बनाने में मदद मिलती है. उदाहरण के लिए, अपने हिसाब से बनाए गए “आईडीपी (IdP) से साइन इन करें” बटन का इस्तेमाल करके ऐसा किया जा सकता है.
RP Context API का इस्तेमाल करके, आरपी "साइन इन करें" टाइटल को बदलने के लिए, FedCM डायलॉग का अनुरोध कर सकता है "साइन अप", "इस्तेमाल करें" के साथ या "जारी रखें" पर क्लिक करें.
गैर-कंपोज़्ड माउस और पॉइंटर इवेंट में शामिल होना/छोड़ना
mouseenter
, mouseleave
, pointerenter
, और pointerleave
इवेंट के लिए event.composed
प्रॉपर्टी को "false"
प्रॉपर्टी बनाएं, ताकि निर्देशों का पालन किया जा सके और इंटरऑप गैप को ठीक किया जा सके. माउस इवेंट के लिए यूज़र इंटरफ़ेस (यूआई) इवेंट की खास जानकारी और पॉइंटर इवेंट की खास बातें, इन इवेंट को कंपोज़ नहीं किए गए इवेंट के रूप में परिभाषित करती हैं. दोनों खासियतें कुछ साल पहले अपनी मूल परिभाषाओं से अलग हो गई थीं: https://github.com/w3c/uievents/pull/210 https://github.com/w3c/pointerevents/pull/461 इंटरऑप गैप को ठीक करने के साथ-साथ, इन इवेंट के शैडो DOM होस्ट को शैडो DOM होस्ट में भी करते हैं.
document.open सैंडबॉक्स इनहेरिटेंस हटाएं
फ़िलहाल, जब document.open
किसी दूसरी विंडो को टारगेट करता है, तो कॉल करने वाले (कॉलर) के सैंडबॉक्स फ़्लैग, कॉल करने वाले (कॉलर) पर लागू होते हैं. इस बदलाव के बाद ऐसा नहीं होगा..
क्रिटिकल-CH रिपोर्ट की वजह से NavigationTiming में रीस्टार्ट हुआ
वेबसाइटें, पेज को Critical-CH
एचटीटीपी रिस्पॉन्स हेडर में शामिल करके यह बता सकती हैं कि कोई खास क्लाइंट हिंट पेज के लिए अहम है. ऐसा करने पर, कनेक्शन रीस्टार्ट हो जाएगा. ऐसा तब होगा, जब Critical-CH
एचटीटीपी रिस्पॉन्स हेडर में दिए गए संकेत को, शुरुआत में भेजे गए एचटीटीपी अनुरोध में शामिल किया गया हो, लेकिन उसे शामिल न किया गया हो. यह इंटेंट, PerformanceNavigationTiming
इंटरफ़ेस में readonly attribute DOMHighResTimeStamp criticalCHRestart;
जोड़ने का सुझाव देता है.
ऑरिजिन ट्रायल चल रहा है
Chrome 116 में, ऑरिजिन ट्रायल के लिए इन नए तरीकों के लिए ऑप्ट इन किया जा सकता है.
COOP: प्रॉपर्टी पर पाबंदी लगाएं
क्रॉस-ऑरिजिन-ओपनर-नीति का इस्तेमाल, पॉप-अप और ओपनर के बीच के संबंध को अलग करने के लिए किया जाता है. ऐसा सुरक्षा बढ़ाने के लिए किया जाता है. "restrict-properties" एक तय की गई वैल्यू है, जो संबंध को पूरी तरह से अलग करने के बजाय, उसे सीमित कर देती है. यह COEP के साथ जोड़े जाने पर, CrossOriginIsolated को चालू कर देगा.
COOP प्रतिबंधित-प्रॉपर्टी ऑरिजिन ट्रायल के लिए रजिस्टर करें.
FedCM साइन-इन स् थिति API
फ़ेडरल क्रेडेंशियल मैनेजमेंट एपीआई (FedCM) का आईडीपी साइन-इन स्टेटस एपीआई, आइडेंटिटी प्रोवाइडर (आईडीपी) को अपने उपयोगकर्ताओं के लॉग-इन या आउट करने पर, ब्राउज़र को सिग्नल भेजने की अनुमति देता है. ऐसा इसलिए, ताकि FedCM अपने UX को ऑप्टिमाइज़ करके, अपनी निजता प्रॉपर्टी बढ़ा सके.
FedCM साइन इन स्टेटस ऑरिजिन ट्रायल के लिए रजिस्टर करें
एडिट कॉन्टेक्स्ट एपीआई
एडिट कॉन्टेक्स्ट एपीआई, वेब ऐप्लिकेशन को बेहतर टेक्स्ट इनपुट तरीकों, जैसे कि VK आकार-लेखन, हैंडराइटिंग पैनल, बोली की पहचान, और IME कंपोज़िशन की मदद से इंटिग्रेट करने की प्रोसेस को आसान बनाता है. यह एपीआई, सुलभता और परफ़ॉर्मेंस को बेहतर बनाता है. साथ ही, वेब पर आधारित एडिटर के लिए नई सुविधाएं उपलब्ध कराता है.
EditContext API के ऑरिजिन ट्रायल के लिए रजिस्टर करें
लंबे ऐनिमेशन फ़्रेम का समय
यह लंबे टास्क का एक्सटेंशन है. यह टास्क को, रेंडरिंग के बाद होने वाले अपडेट के साथ मेज़र करता है. इसमें लंबे समय तक चलने वाली स्क्रिप्ट, रेंडरिंग में लगने वाला समय, और फ़ोर्स किए गए लेआउट और स्टाइल में बिताया गया समय जैसी जानकारी शामिल होती है. इसे लेआउट थ्रैशिंग के नाम से जाना जाता है.
डेवलपर इसका इस्तेमाल, "धीमी रफ़्तार" की गड़बड़ी की जानकारी के लिए कर सकते हैं. इसे आईएनपी से मापा जाता है. इसके लिए, मुख्य थ्रेड के कंजेशन होने की वजहें अक्सर खराब आईएनपी होती हैं.
लॉन्ग ऐनिमेशन फ़्रेम टाइमिंग के ऑरिजिन ट्रायल के लिए रजिस्टर करें