Chrome 58 में बंद करना और हटाना

Joe Medley
Joe Medley

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

Android पर माउस से TouchEvents ट्रिगर होना बंद हो जाता है

Chrome 57 तक, Chrome में Android के लो-लेवल माउस इवेंट मुख्य रूप से, टच इंटरैक्शन के लिए डिज़ाइन किए गए इवेंट पाथ का इस्तेमाल करते थे. उदाहरण के लिए, माउस बटन दबाए जाने के दौरान माउस को खींचने पर, MotionEvents जनरेट होता है. इसे View.onTouchEvent के ज़रिए डिलीवर किया जाता है.

हालांकि, टच इवेंट में कर्सर को घुमाने की सुविधा काम नहीं करती. इसलिए, कर्सर घुमाने पर, कर्सर की जगह बदलने की जानकारी देने वाला इवेंट, अलग पाथ का इस्तेमाल करता है. इस डिज़ाइन के कई दुष्परिणाम थे. जैसे, माउस इंटरैक्शन से TouchEvents ट्रिगर होना, सभी माउस बटन लेफ़्ट माउस बटन के तौर पर दिखना, और MouseEvents पर TouchEvents का दबाव पड़ना.

Chrome 58 से, Android M या इसके बाद के वर्शन पर माउस का इस्तेमाल करके:

  • TouchEvents को अब ट्रिगर नहीं किया जाएगा.
  • सही बटन और अन्य प्रॉपर्टी के साथ MouseEvents का एक जैसा क्रम ट्रिगर करें.

हटाने का इंटेंट | Chromestatus ट्रैकर | Chromium बग

usemap एट्रिब्यूट के लिए, केस-इनसेंसिटिव मैचिंग की सुविधा हटाना

usemap एट्रिब्यूट को पहले केसलेस के तौर पर तय किया गया था. माफ़ करें, इसे लागू करना इतना मुश्किल था कि कोई भी ब्राउज़र इसे सही तरीके से लागू नहीं कर सका. रिसर्च से पता चला है कि इस तरह का जटिल एल्गोरिदम ज़रूरी नहीं है. यहां तक कि ASCII के केस-इनसेंसिटिव मैचिंग की भी ज़रूरत नहीं है.

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

हटाने का इंटेंट | Chromestatus ट्रैकर | Chromium बग

डेटा यूआरएल पर, कॉन्टेंट से शुरू होने वाले टॉप फ़्रेम नेविगेशन हटाना

ब्राउज़र के गैर-तकनीकी उपयोगकर्ताओं को इस स्कीम के बारे में जानकारी नहीं होती. इसलिए, हम देख रहे हैं कि स्पूफ़िंग और फ़िशिंग हमलों में data: स्कीम का इस्तेमाल बढ़ रहा है. इससे बचने के लिए, हम वेब पेजों को सबसे ऊपर मौजूद फ़्रेम में data: यूआरएल लोड करने से रोक रहे हैं. यह <a> टैग, window.open, window.location, और मिलते-जुलते तरीकों पर लागू होता है. data: स्कीम अब भी उन संसाधनों के लिए काम करेगी जो किसी पेज के नीचे लोड किए गए हैं.

यह सुविधा Chrome 60 से हटा दी जाएगी.

हटाने का इंटेंट | Chromestatus ट्रैकर | Chromium बग

मोशन पाथ प्रॉपर्टी के लिए, इस्तेमाल नहीं किए जा सकने वाले नाम हटाना

मोशन पाथ सीएसएस प्रॉपर्टी की मदद से, लेखक किसी भी ग्राफ़िक ऑब्जेक्ट को, अपने तय किए गए पाथ के साथ ऐनिमेट कर सकते हैं. स्पेसिफ़िकेशन के मुताबिक, कई प्रॉपर्टी को Chrome 45 में लागू किया गया. साल 2016 के मध्य में, इन प्रॉपर्टी के नाम बदल दिए गए थे. Chrome ने Chrome 55 और Chrome 56 में नए नाम लागू किए हैं. Console के बंद होने से जुड़ी चेतावनियां भी लागू की गईं.

Chrome 58 में, प्रॉपर्टी के पुराने नाम हटाए जा रहे हैं. जिन प्रॉपर्टी पर असर पड़ा है और उनके नए नाम यहां दिए गए हैं.

हटाई गई प्रॉपर्टी मौजूदा नाम
motion-path offset-path
motion-offset offset-distance
motion-rotation offset-rotate
हलचल ऑफ़सेट

हटाने का अनुरोध

गैर-सुरक्षित कॉन्टेक्स्ट से EME हटाना

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

EME के वर्शन 1 के स्पेसिफ़िकेशन से, असुरक्षित कॉन्टेक्स्ट के लिए सहायता हटा दी गई है. साथ ही, यह सुझाए गए सुझाव में काम नहीं करती और न ही आने वाले समय में फ़ाइनल सुझाव में शामिल होगी. Chrome 44 (मई 2015) से, यह एपीआई असुरक्षित ऑरिजिन पर, बंद होने का मैसेज दिखा रहा है. Chrome 58 में, इसे हटा दिया गया है. यह बदलाव, असुरक्षित सोर्स से बेहतर सुविधाओं को हटाने की हमारी कोशिशों का हिस्सा है.

हटाने का इंटेंट | Chromestatus ट्रैकर | Chromium बग

HTMLEmbedElement और HTMLObjectElement के लिए, लेगसी कॉलर हटाएं

अगर किसी इंटरफ़ेस में लेगसी कॉलर है, तो इसका मतलब है कि किसी इंस्टेंस को फ़ंक्शन के तौर पर कॉल किया जा सकता है. फ़िलहाल, HTMLEmbedElement और HTMLObjectElement में यह सुविधा काम करती है. Chrome 57 में, इस सुविधा का इस्तेमाल बंद कर दिया गया था. Chrome 58 और इसके बाद के वर्शन में, इसे कॉल करने पर अपवाद मिलता है.

इस बदलाव से, Chrome को हाल ही में किए गए स्पेसिफ़िकेशन में हुए बदलावों के मुताबिक बनाया गया है. Edge या Safari में, लेगसी व्यवहार काम नहीं करता. साथ ही, इसे Firefox से हटाया जा रहा है.

हटाने का इंटेंट | Chromestatus ट्रैकर | Chromium बग

स्टैंडर्ड से पहले के ChaCha20-Poly1305 सिफर हटाना

साल 2013 में, Chrome 31 में प्रोफ़ेसर डैन बर्नस्टीन के ChaCha20 और Poly1305 एल्गोरिदम के आधार पर, नए TLS साइफ़र सुइट डिप्लॉय किए गए थे. बाद में, इन्हें IETF में आरएफ़सी 7539 और आरएफ़सी 7905 के तौर पर, कुछ बदलावों के साथ स्टैंडर्ड किया गया. हमने साल 2016 की शुरुआत में, Chrome 49 के साथ स्टैंडर्ड वर्शन को शिप किया था. हम अब प्री-स्टैंडर्ड वैरिएंट हटा रहे हैं.

हटाने का इंटेंट | Chromestatus ट्रैकर | Chromium बग

सर्टिफ़िकेट में commonName मैच करने की सुविधा हटाना

RFC 2818 में, डोमेन नेम को सर्टिफ़िकेट से मैच करने के दो तरीके बताए गए हैं: subjectAlternativeName एक्सटेंशन में मौजूद नामों का इस्तेमाल करना या SAN एक्सटेंशन न होने पर, commonName का इस्तेमाल करना. commonName पर फ़ॉलबैक करने की सुविधा, RFC 2818 (2000 में पब्लिश) में बंद कर दी गई थी. हालांकि, कई TLS क्लाइंट में यह सुविधा अब भी काम करती है. हालांकि, अक्सर यह गलत तरीके से काम करती है.

subjectAlternativeName फ़ील्ड का इस्तेमाल करने से यह साफ़ तौर पर पता चल जाता है कि कोई सर्टिफ़िकेट, आईपी पते या डोमेन नेम से बाइंडिंग कर रहा है या नहीं. साथ ही, नाम से जुड़ी पाबंदियों के साथ इसके इंटरैक्शन के बारे में पूरी जानकारी मिल जाती है. हालांकि, commonName का मतलब साफ़ तौर पर नहीं बताया गया है. इस वजह से, Chrome, उसमें इस्तेमाल की जाने वाली लाइब्रेरी, और TLS नेटवर्क के पूरे नेटवर्क में सुरक्षा से जुड़े गड़बड़ियों का मुख्य सोर्स रहा है.

commonName को हटाने से, ऐप्लिकेशन के काम करने में कोई समस्या नहीं होगी. RFC 2818 के मुताबिक, इसे इस्तेमाल करने की अनुमति करीब दो दशकों से नहीं है. साथ ही, बुनियादी ज़रूरी शर्तों (जिन्हें सार्वजनिक रूप से भरोसेमंद सर्टिफ़िकेट देने वाली सभी संस्थाओं को पूरा करना होगा) के मुताबिक, 2012 से subjectAltName का इस्तेमाल करना ज़रूरी है. Firefox को Firefox 48 के बाद से, सार्वजनिक रूप से भरोसेमंद सर्टिफ़िकेट के तौर पर जारी किए गए नए सर्टिफ़िकेट के लिए, पहले से ही subjectAltName की ज़रूरत होती है.

सेट कर सकते हैं.

हटाने का इंटेंट | Chromestatus ट्रैकर | Chromium बग

इंटरफ़ेस एलिमेंट regions, addRegion(), और removeRegion() को WebVTT स्पेसिफ़िकेशन से हटा दिया गया है. साथ ही, नए स्पेसिफ़िकेशन का पालन करने के लिए, इन्हें Chrome 58 से भी हटा दिया गया है. हमें उम्मीद है कि इन एलिमेंट को हटाने से कोई खास असर नहीं पड़ेगा, क्योंकि यह सुविधा डिफ़ॉल्ट रूप से कभी चालू नहीं थी. इसका मतलब है कि इसे फ़्लैग के पीछे रखा गया था. अगर आपको किसी अन्य विकल्प की ज़रूरत है, तो VTTCue.region प्रॉपर्टी का इस्तेमाल करें. इसे Chrome 58 में जोड़ा जा रहा है.

Chromestatus ट्रैकर | Chromium में मौजूद गड़बड़ी

WebAudio: AudioSourceNode इंटरफ़ेस हटाएं

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

हटाने का इंटेंट | Chromestatus ट्रैकर | Chromium बग

webkitdropzone ग्लोबल एट्रिब्यूट हटाना

dropzone ग्लोबल एट्रिब्यूट को HTML5 खींचें और छोड़ें स्पेसिफ़िकेशन ने शुरू किया था. यह एट्रिब्यूट, एचटीएमएल एलिमेंट के खींचें और छोड़ें ऑपरेशन के टारगेट होने की जानकारी देने के लिए, एलिमेंट पर छोड़े जा सकने वाले कॉन्टेंट टाइप, और खींचें और छोड़ें ऑपरेशन (कॉपी/मूव/लिंक) के बारे में बताने के लिए, एलान करने वाले तरीके के तौर पर इस्तेमाल किया जाता है.

ब्राउज़र वेंडर के बीच इस एट्रिब्यूट को लोकप्रिय नहीं बनाया जा सका. Blink और WebKit, webkitdropzone एट्रिब्यूट के सिर्फ़ प्रीफ़िक्स वाले फ़ॉर्म को लागू करते हैं. dropzone एट्रिब्यूट को मार्च 2017 की शुरुआत में स्पेसिफ़िकेशन से हटा दिया गया था. इसलिए, Chrome से प्रीफ़िक्स वाला वर्शन हटाया जा रहा है.

हटाने का इंटेंट | Chromestatus ट्रैकर | Chromium बग

सूचनाओं के असुरक्षित इस्तेमाल को बंद करना

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

हटाने का इंटेंट | Chromestatus ट्रैकर | Chromium बग

असुरक्षित iframe से सूचनाओं के इस्तेमाल को बंद करना

iframe से अनुमति के अनुरोध, उपयोगकर्ताओं को भ्रमित कर सकते हैं. ऐसा इसलिए, क्योंकि पेज के ऑरिजिन और अनुरोध करने वाले iframe के ऑरिजिन के बीच अंतर करना मुश्किल होता है. जब अनुरोध का दायरा साफ़ तौर पर नहीं बताया जाता है, तो उपयोगकर्ताओं के लिए यह तय करना मुश्किल हो जाता है कि अनुमति दी जाए या नहीं.

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

जिन डेवलपर को इस सुविधा की ज़रूरत है वे सूचना की अनुमति का अनुरोध करने के लिए, एक नई विंडो खोल सकते हैं.

यह सुविधा Chrome 62 में हटा दी गई है.

हटाने का इंटेंट | Chromestatus ट्रैकर | Chromium बग

indexedDB.webkitGetDatabaseNames() को हटाएं

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

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

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

यह सुविधा Chrome 60 से हटा दी गई है.

इस्तेमाल बंद करने का फ़ैसला | Chromestatus ट्रैकर | Chromium बग