Chrome 142 बीटा

पब्लिश की गई तारीख: 1 अक्टूबर, 2025

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

सीएसएस और यूज़र इंटरफ़ेस (यूआई)

:target-before और :target-after स्यूडो-क्लास

ये स्यूडो-क्लास, एक ही स्क्रोल मार्कर ग्रुप में मौजूद उन स्क्रोल मार्कर से मेल खाती हैं जो ऐक्टिव मार्कर (:target-current से मेल खाने वाले) से पहले या बाद में होते हैं. यह जानकारी, फ़्लैट ट्री ऑर्डर के हिसाब से तय की जाती है:

  • :target-before: ग्रुप में फ़्लैट ट्री ऑर्डर के हिसाब से, ऐक्टिव मार्कर से पहले आने वाले सभी स्क्रोल मार्कर से मेल खाती है.
  • :target-after: ग्रुप में फ़्लैट ट्री ऑर्डर के हिसाब से, ऐक्टिव मार्कर के बाद आने वाले सभी स्क्रोल मार्कर से मेल खाती है.

::view-transition एलिमेंट के लिए, ऐब्सलूट पोज़िशनिंग

व्यू ट्रांज़िशन, एलिमेंट के स्यूडो सबट्री का इस्तेमाल करते हैं. इसमें ::view-transition उस ट्रांज़िशन का रूट होता है. पहले, ::view-transition एलिमेंट को position: fixed पर सेट किया जाता था. सीएसएस वर्किंग ग्रुप ने इसे position: absolute पर सेट करने का फ़ैसला लिया है. इसलिए, Chrome में अब यह बदलाव दिखता है.

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

दस्तावेज़ पर activeViewTransition प्रॉपर्टी

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

Chrome 142 से, डेवलपर को इस ऑब्जेक्ट को सेव करने की ज़रूरत नहीं है. document.activeViewTransition प्रॉपर्टी, इस ऑब्जेक्ट या null को दिखाती है. ऐसा तब होता है, जब कोई ट्रांज़िशन नहीं चल रहा होता है.

यह एमपीए ट्रांज़िशन पर भी लागू होता है. इसमें ऑब्जेक्ट सिर्फ़ pageswap और pagereveal इवेंट के ज़रिए उपलब्ध होता है. इस अपडेट में, document.activeViewTransition को ट्रांज़िशन की अवधि के लिए इस ऑब्जेक्ट पर सेट किया जाता है.

स्टाइल कंटेनर क्वेरी और if() के लिए रेंज सिंटैक्स

Chrome, रेंज सिंटैक्स के लिए सहायता जोड़कर, सीएसएस स्टाइल क्वेरी और if() फ़ंक्शन को बेहतर बनाता है.

इससे स्टाइल क्वेरी, सटीक वैल्यू मैचिंग (उदाहरण के लिए, style(--theme: dark)) से आगे बढ़ जाती हैं. डेवलपर, तुलना करने वाले ऑपरेटर (जैसे, > और <) का इस्तेमाल करके, कस्टम प्रॉपर्टी, लिटरल वैल्यू (उदाहरण के लिए, 10 पिक्सल या 25%) की तुलना कर सकते हैं. साथ ही, attr() और env() जैसे सब्स्टिट्यूशन फ़ंक्शन से मिलने वाली वैल्यू की तुलना भी की जा सकती है. सही तुलना के लिए, दोनों साइड एक ही डेटा टाइप में होनी चाहिए. यह सिर्फ़ इन न्यूमेरिक टाइप के लिए काम करता है: <length>, <number>, <percentage>, <angle>, <time>, <frequency>, और <resolution>.

उदाहरण:

कस्टम प्रॉपर्टी की तुलना, लिटरल लेंथ से करना:

@container style(--inner-padding > 1em) {
  .card {
    border: 2px solid;
  }
}

दो लिटरल वैल्यू की तुलना करना

@container style(1em < 20px) {
  /* ... */
}

if() में स्टाइल रेंज का इस्तेमाल करना:

.item-grid {
  background-color: if(style(attr(data-columns, type<number>) > 2): lightblue; else: white);
}

इंटरेस्ट इनवोकर (interestfor एट्रिब्यूट)

Chrome, <button> और <a> एलिमेंट में interestfor एट्रिब्यूट जोड़ता है. इस एट्रिब्यूट से, एलिमेंट में "इंटरेस्ट" के बिहेवियर जुड़ जाते हैं. जब कोई उपयोगकर्ता एलिमेंट में "इंटरेस्ट दिखाता है", तो टारगेट एलिमेंट पर कार्रवाइयां ट्रिगर होती हैं. उदाहरण के लिए, पॉप-ओवर दिखाना. यूज़र एजेंट, इन तरीकों से यह पता लगाता है कि कोई उपयोगकर्ता एलिमेंट में "इंटरेस्ट दिखा रहा है" या नहीं. जैसे, एलिमेंट पर पॉइंटर को होल्ड करना, कीबोर्ड पर खास हॉटकी दबाना या टचस्क्रीन पर एलिमेंट को दबाकर रखना. इंटरेस्ट दिखाने या न दिखाने पर, टारगेट पर InterestEvent ट्रिगर होता है. इसमें पॉप-ओवर के लिए डिफ़ॉल्ट कार्रवाइयां होती हैं. जैसे, पॉप-ओवर दिखाना और छिपाना.

font-language-override प्रॉपर्टी

Chrome, font-language-override सीएसएस प्रॉपर्टी के लिए सहायता जोड़ता है. इस प्रॉपर्टी की मदद से, डेवलपर सीएसएस में सीधे तौर पर चार वर्णों वाला भाषा टैग तय करके, OpenType ग्लिफ़ सब्स्टिट्यूशन के लिए इस्तेमाल की जाने वाली सिस्टम भाषा को बदल सकते हैं.

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

एसवीजी <a> एलिमेंट में download एट्रिब्यूट

Chrome, SVGAElement इंटरफ़ेस पर download एट्रिब्यूट के लिए सहायता जोड़ता है. यह एसवीजी 2 की खास जानकारी के मुताबिक है. download एट्रिब्यूट की मदद से, लेखक यह तय कर सकते हैं कि एसवीजी हाइपरलिंक के टारगेट को नेविगेट करने के बजाय डाउनलोड किया जाए. यह HTMLAnchorElement में पहले से मौजूद बिहेवियर जैसा ही है. इससे, ज़्यादातर ब्राउज़र के बीच इंटरऑपरेबिलिटी बढ़ती है. साथ ही, एचटीएमएल और एसवीजी <a> एलिमेंट के बीच एक जैसा बिहेवियर मिलता है. इससे डेवलपर अनुभव और उपयोगकर्ता की उम्मीदें बेहतर होती हैं.

चुने गए एलिमेंट रेंडरिंग मोड के लिए, मोबाइल और डेस्कटॉप पर एक जैसी सुविधा

size और multiple एट्रिब्यूट का इस्तेमाल करके, <select> एलिमेंट को इन-पेज लिस्टबॉक्स या पॉप-अप वाले बटन के तौर पर रेंडर किया जा सकता है. हालांकि, ये मोड, मोबाइल और डेस्कटॉप Chrome पर एक जैसे उपलब्ध नहीं होते. मोबाइल पर इन-पेज लिस्टबॉक्स रेंडरिंग उपलब्ध नहीं है. वहीं, multiple एट्रिब्यूट मौजूद होने पर, डेस्कटॉप पर पॉप-अप वाला बटन उपलब्ध नहीं है.

इस अपडेट में, मोबाइल पर लिस्टबॉक्स और डेस्कटॉप पर मल्टी-सेलेक्ट पॉप-अप जोड़ा गया है. साथ ही, यह पक्का किया गया है कि size और multiple एट्रिब्यूट वाले ऑप्ट-इन, मोबाइल और डेस्कटॉप पर एक ही रेंडरिंग मोड में दिखें. बदलावों के बारे में जानकारी यहां दी गई है:

  • जब size एट्रिब्यूट की वैल्यू 1 से ज़्यादा होती है, तो हमेशा इन-पेज रेंडरिंग का इस्तेमाल किया जाता है. मोबाइल डिवाइस पहले इसे अनदेखा करते थे.
  • जब multiple एट्रिब्यूट को size एट्रिब्यूट के बिना सेट किया जाता है, तो इन-पेज रेंडरिंग का इस्तेमाल किया जाता है. मोबाइल डिवाइस पहले इन-पेज लिस्टबॉक्स के बजाय पॉप-अप का इस्तेमाल करते थे.
  • जब multiple एट्रिब्यूट को size=1 के साथ सेट किया जाता है, तो पॉप-अप का इस्तेमाल किया जाता है. डेस्कटॉप डिवाइस पहले इन-पेज लिस्टबॉक्स का इस्तेमाल करते थे.

सेम-ऑरिजिन रेंडरर से शुरू होने वाले नेविगेशन के दौरान, स्टिकी यूज़र ऐक्टिवेशन की सुविधा

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

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

वेब एपीआई

WebGPU: primitive_index सुविधा

WebGPU में एक नई वैकल्पिक सुविधा जोड़ी गई है. इससे, नया WGSL शेडर बिल्ट-इन, primitive_index दिखता है. यह, vertex_index और instance_index बिल्ट-इन की तरह ही, सहायता देने वाले हार्डवेयर पर फ़्रैगमेंट शेडर के लिए, हर प्रिमिटिव इंडेक्स उपलब्ध कराता है. प्रिमिटिव इंडेक्स, वर्चुअलइज़्ड ज्यामिति जैसी बेहतर ग्राफ़िकल तकनीकों के लिए काम का है.

WebGPU: टेक्सचर फ़ॉर्मैट टियर1 और टियर2

जीपीयू टेक्सचर फ़ॉर्मैट की सहायता को बढ़ाएं. इसमें रेंडर अटैचमेंट, ब्लेंडिंग, मल्टीसैंपलिंग, रिज़ॉल्व, और स्टोरेज_बाइंडिंग जैसी सुविधाएं शामिल हैं.

insertFromPaste, insertFromDrop, और insertReplacementText इनपुट इवेंट के लिए, `DataTransfer` प्रॉपर्टी

कॉन्टेंटएडिटेबल एलिमेंट में एडिटिंग के दौरान, क्लिपबोर्ड और ड्रैग-एंड-ड्रॉप डेटा का ऐक्सेस देने के लिए, इनपुट इवेंट पर dataTransfer प्रॉपर्टी में insertFromPaste, insertFromDrop, और insertReplacementText की inputType वैल्यू भरें.

dataTransfer ऑब्जेक्ट में वही डेटा होता है जो beforeinput इवेंट के दौरान उपलब्ध था.

यह सुविधा सिर्फ़ कॉन्टेंटएडिटेबल एलिमेंट पर लागू होती है. फ़ॉर्म कंट्रोल (textarea, input) के लिए, बिहेवियर में कोई बदलाव नहीं होता.

इस प्रॉपर्टी की मदद से, Chrome, Safari और Firefox के साथ इंटरऑपरेट किया जा सकता है.

मीडिया सेशन: enterpictureinpicture ऐक्शन की जानकारी में, वजह जोड़ना

Media Session API में, enterpictureinpicture ऐक्शन को भेजे गए MediaSessionActionDetails में enterPictureInPictureReason जोड़ा गया है. इससे डेवलपर, enterpictureinpicture ऐक्शन के बीच अंतर कर सकते हैं. जैसे, उपयोगकर्ता एजेंट में मौजूद बटन से उपयोगकर्ता ने साफ़ तौर पर enterpictureinpicture ऐक्शन ट्रिगर किया है या कॉन्टेंट के छिप जाने की वजह से, उपयोगकर्ता एजेंट ने अपने-आप enterpictureinpicture ऐक्शन ट्रिगर किया है.

Web Speech API में कॉन्टेक्चुअल बाइसिंग की सुविधा

इस अपडेट से, वेबसाइटों को बोली की पहचान के लिए कॉन्टेक्चुअल बाइसिंग की सुविधा मिलती है. इसके लिए, Web Speech API में पहचान के लिए वाक्यांशों की सूची जोड़ी गई है.

डेवलपर, वाक्यांशों की सूची उपलब्ध करा सकते हैं और उन्हें अपडेट कर सकते हैं. इससे, बोली की पहचान के मॉडल पर उन वाक्यांशों के पक्ष में बाइसिंग लागू की जा सकती है. इससे, डोमेन के हिसाब से और निजी तौर पर बोली की पहचान की सटीक जानकारी और काम की जानकारी मिलती है.

JSON मॉड्यूल के लिए, *+json MIME टोकन की ज़्यादा सख्त पुष्टि

JSON मॉड्यूल स्क्रिप्ट के उन रिस्पॉन्स को अस्वीकार करें जिनके MIME टाइप के टाइप या सबटाइप में, नॉन-एचटीटीपी टोकन कोड पॉइंट (उदाहरण के लिए, स्पेस) शामिल हैं. ऐसा तब होता है, जब *+json से मैच किया जाता है. यह MIME स्निफ़िंग की खास जानकारी और अन्य इंजन के मुताबिक है. यह Interop2025 मॉड्यूल के फ़ोकस एरिया का हिस्सा है.

FedCM—यूज़र इंटरफ़ेस (यूआई) में, तीसरे पक्ष के iframe ऑरिजिन दिखाने की सुविधा

Chrome 142 से पहले, FedCM हमेशा अपने यूज़र इंटरफ़ेस (यूआई) में टॉप-लेवल साइट दिखाता था.

यह तब काम करता है, जब iframe को कॉन्सेप्ट के तौर पर पहले पक्ष का माना जाता है. उदाहरण के लिए, foo.com में foostatic.com का iframe हो सकता है. यह उपयोगकर्ता के लिए काम का नहीं है.

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

ऑरिजिन-की आधारित प्रोसेस आइसोलेशन

प्रोसेस आइसोलेशन की नीति को, साइट (उदाहरण के लिए, example.com) के लिए प्रोसेस लॉक करने से बदलकर, किसी खास ऑरिजिन (उदाहरण के लिए, foo.example.com) के लिए प्रोसेस लॉक करने पर ले जाता है.

सुरक्षा को और बेहतर बनाने के लिए, Chrome, "ऑरिजिन आइसोलेशन" नाम के ज़्यादा ग्रेन्यूलर प्रोसेस आइसोलेशन मॉडल पर जा रहा है. Chrome, "साइट आइसोलेशन" का इस्तेमाल करता था. इसमें एक ही साइट के अलग-अलग ऑरिजिन, जैसे कि a.example.com और b.example.com को एक ही रेंडरर प्रोसेस में ग्रुप किया जाता था.

ऑरिजिन आइसोलेशन की मदद से, हर ऑरिजिन (जैसे, https://foo.example.com) को उसके रेंडरर प्रोसेस में आइसोलेट किया जाता है. इससे, Chrome के सुरक्षा आर्किटेक्चर को मज़बूती मिलती है. ऐसा इसलिए, क्योंकि प्रोसेस बाउंड्री को वेब के बुनियादी ऑरिजिन-आधारित सुरक्षा मॉडल के साथ अलाइन किया जाता है. इससे, साइटों में संभावित कमज़ोरियों से ज़्यादा सुरक्षा मिलती है.

इंटरऑपरेबल pointerrawupdate इवेंट, सिर्फ़ सुरक्षित कॉन्टेक्स्ट में दिखते हैं

PointerEvents की खास जानकारी के मुताबिक, 2020 में pointerrawupdate को सुरक्षित कॉन्टेक्स्ट तक सीमित कर दिया गया था. इससे, असुरक्षित कॉन्टेक्स्ट में इवेंट ट्रिगर होने और ग्लोबल इवेंट लिसनर, दोनों को छिपा दिया गया था. इस अपडेट के बाद, Chrome को अपडेट की गई खास जानकारी के मुताबिक बनाया गया है. साथ ही, यह अन्य मुख्य ब्राउज़र के साथ इंटरऑपरेट किया जा सकता है.

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

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

डिवाइस बाउंड सेशन के क्रेडेंशियल

वेबसाइटों के लिए, किसी सेशन को सुरक्षित तरीके से एक डिवाइस से बाइंड करने का तरीका.

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

हर टॉप-लेवल-साइट के लिए, टीसीपी सॉकेट पूल

इस एक्सपेरिमेंट में, हर प्रोफ़ाइल के लिए टीसीपी सॉकेट पूल के साइज़ को 256 (डिफ़ॉल्ट) से बदलकर 513 करने के असर का आकलन किया जाता है. साथ ही, हर टॉप-लेवल-साइट के लिए 256 की कैप जोड़ी जाती है. इससे यह पक्का किया जाता है कि कोई भी दो टैब, पूल को खत्म न कर पाएं. हर प्रोफ़ाइल के लिए सीमा को 512 तक बढ़ाने की संभावना का अध्ययन किया गया. इससे कोई नकारात्मक नतीजे नहीं मिले. हर टॉप-लेवल-साइट के लिए 256 की कैप, हर प्रोफ़ाइल के लिए डिफ़ॉल्ट सीमा के बराबर है. इसलिए, इससे परफ़ॉर्मेंस पर कोई बुरा असर नहीं पड़ना चाहिए. ये सीमाएं, WebSocket पूल और सामान्य (एचटीटीपी) सॉकेट पूल के लिए अलग-अलग लागू की जाती हैं.

अगर कोई नकारात्मक असर नहीं होता है, तो इस एक्सपेरिमेंट को सीधे तौर पर लॉन्च करने का इरादा है.