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

जो मेडले
जो मेडली

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

Android पर माउस, TouchEvents को सक्रिय करना बंद कर देता है

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

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

Chrome 58 और उसके बाद के वर्शन पर, Android M या उसके बाद के वर्शन पर काम करने वाले माउस से ये काम किए जाएंगे:

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

हटाएं | Chromestatus Tracker | Chromium की गड़बड़ी

इस्तेमाल मैप एट्रिब्यूट के लिए, केस-इनसेंसिटिव मैचिंग को हटाएं

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

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

हटाएं | Chromestatus Tracker | Chromium की गड़बड़ी

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

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

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

हटाएं | Chromestatus Tracker | Chromium की गड़बड़ी

मोशन पाथ प्रॉपर्टी के लिए, अब काम नहीं करने वाले नाम हटाएं

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

Chrome 58 में, पुरानी प्रॉपर्टी के नाम हटाए जा रहे हैं. प्रभावित प्रॉपर्टी और उनके नए नाम नीचे दिखाए गए हैं.

हटाई गई प्रॉपर्टी मौजूदा नाम
मोशन-पाथ ऑफ़सेट-पाथ
मोशन-ऑफ़सेट ऑफ़सेट-दूरी
मोशन-रोटेट ऑफ़सेट-रोटेट
हलचल ऑफ़सेट

हटाने का इरादा

असुरक्षित कॉन्टेक्स्ट से ईएमई हटाएं

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

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

हटाएं | Chromestatus Tracker | Chromium की गड़बड़ी

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

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

इस बदलाव से, Chrome में दिए गए खास बदलावों के हिसाब से बदलाव हो जाएंगे. लेगसी बिहेवियर Edge या Safari में काम नहीं करता और इसे Firefox से हटाया जा रहा है.

हटाएं | Chromestatus Tracker | Chromium की गड़बड़ी

प्री-स्टैंडर्ड ChaCha20-Poly1305 साइफ़र हटाएं

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

हटाएं | Chromestatus Tracker | Chromium की गड़बड़ी

सर्टिफ़िकेट में CommonName मैचिंग की सुविधा बंद करें

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

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

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

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

हटाएं | Chromestatus Tracker | Chromium की गड़बड़ी

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

Chromestatus ट्रैकर | Chromium बग

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

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

हटाएं | Chromestatus Tracker | Chromium की गड़बड़ी

वेबकिटड्रॉपज़ोन ग्लोबल एट्रिब्यूट हटाएं

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

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

हटाएं | Chromestatus Tracker | Chromium की गड़बड़ी

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

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

हटाएं | Chromestatus Tracker | Chromium की गड़बड़ी

असुरक्षित iframe से सूचनाएं पाने की सुविधा रोकें

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

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

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

Chrome 62 से हटाया जा रहा है.

हटाएं | Chromestatus Tracker | Chromium की गड़बड़ी

इंडेक्स DB.webkitGetDatabaseNames() हटाएं

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

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

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

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

रोक लगाने का इंटेंट | Chromestatus Tracker | Chromium गड़बड़ी