تقریباً در هر نسخه کروم، شاهد تعداد قابل توجهی از بهروزرسانیها و بهبودها در محصول، عملکرد آن و همچنین قابلیتهای پلتفرم وب هستیم. این مقاله موارد منسوخ و حذف در Chrome 58 را شرح میدهد که از 16 مارس در نسخه بتا است. این فهرست در هر زمان ممکن است تغییر کند.
ماوس در اندروید فعال کردن TouchEvents را متوقف میکند
تا کروم 57، رویدادهای سطح پایین ماوس اندروید در کروم عمدتاً از مسیر رویدادی پیروی می کردند که برای تعاملات لمسی طراحی شده بود. به عنوان مثال، یک حرکت کشیدن ماوس هنگام فشار دادن دکمه ماوس، MotionEvents
ایجاد می کند که از طریق View.onTouchEvent
ارائه می شود.
اما از آنجایی که رویدادهای لمسی نمیتوانند از شناور پشتیبانی کنند، حرکتهای ماوس در حالت شناور مسیر جداگانهای را دنبال میکنند. این طراحی دارای عوارض جانبی زیادی بود، از جمله تعاملات ماوس که TouchEvents
را فعال میکند، همه دکمههای ماوس به صورت دکمههای سمت چپ ماوس ظاهر میشوند، و MouseEvents
توسط TouchEvents
سرکوب میشوند.
با شروع Chrome 58، ماوس در Android M یا جدیدتر:
- دیگر
TouchEvents
فعال نکنید. - یک توالی ثابت از
MouseEvents
را با دکمههای مناسب و ویژگیهای دیگر شلیک کنید.
قصد حذف | ردیاب Chromestatus | اشکال کروم
حذف تطبیق غیر حساس به حروف بزرگ برای ویژگی usemap
ویژگی usemap
قبلاً به عنوان بدون مورد تعریف می شد. متأسفانه اجرای آن به اندازه کافی پیچیده بود که هیچ مرورگری آن را به درستی پیاده سازی نکرد. تحقیقات نشان میدهد که چنین الگوریتم پیچیدهای غیرضروری است، و حتی تطبیق غیر حساس به حروف بزرگ و کوچک ASCII غیرضروری است.
در نتیجه، مشخصات بهروزرسانی شد تا تطابق حساس به حروف کوچک و بزرگ اعمال شود. رفتار قدیمی در Chrome 57 منسوخ شده بود و اکنون حذف شده است.
قصد حذف | ردیاب Chromestatus | اشکال کروم
پیمایشهای فریم بالای محتوا را به آدرسهای اینترنتی داده حذف کنید
به دلیل ناآشنایی آنها با کاربران غیر فنی مرورگر، ما به طور فزاینده ای شاهد استفاده از این data:
طرحی که در جعل و حملات فیشینگ استفاده می شود. برای جلوگیری از این امر، صفحات وب را از بارگیری data:
نشانیهای وب در کادر بالا. این مورد برای <a>
برچسب ها، window.open
، window.location
و مکانیسم های مشابه. طرح data:
همچنان برای منابع بارگیری شده در زیر توسط یک صفحه کار خواهد کرد.
این ویژگی در کروم 60 حذف خواهد شد.
قصد حذف | ردیاب Chromestatus | اشکال کروم
نام های منسوخ شده برای ویژگی های مسیر حرکت را حذف کنید
ویژگی های CSS مسیر حرکت به نویسندگان این امکان را می دهد که هر شیء گرافیکی را در طول یک مسیر مشخص شده توسط نویسنده متحرک کنند. مطابق با مشخصات، چندین ویژگی در Chrome 45 پیادهسازی شد. نام این ویژگیها در اواسط سال 2016 در مشخصات تغییر کرد. Chrome نامهای جدید را در Chrome 55 و Chrome 56 پیادهسازی کرد. اخطارهای منسوخ شدن کنسول نیز اجرا شد.
در Chrome 58، نامهای دارایی قدیمی حذف میشوند. خواص تحت تاثیر و نام جدید آنها در زیر نشان داده شده است.
اموال حذف شده | نام فعلی |
---|---|
مسیر حرکت | آفست مسیر |
حرکت افست | افست-فاصله |
حرکت چرخشی | افست-چرخش |
حرکت - جنبش | انحراف |
EME را از زمینه های غیر ایمن حذف کنید
برخی از کاربردهای برنامههای افزودنی رسانه رمزگذاریشده (EME) پیادهسازیهای مدیریت حقوق دیجیتال را که منبع باز نیستند، شامل دسترسی به شناسههای منحصربهفرد دائمی، و/یا بدون جعبه یا با دسترسی ممتاز اجرا میکنند، نشان میدهد. خطرات امنیتی برای سایتهایی که از طریق HTTP غیر ایمن در معرض دید قرار میگیرند افزایش مییابد زیرا میتوانند توسط هر کسی در کانال مورد حمله قرار گیرند. علاوه بر این، هنگامی که رضایت کاربر مورد نیاز است، پذیرش برای یک سایت HTTP غیر ایمن می تواند توسط چنین مهاجمی مورد سوء استفاده قرار گیرد.
پشتیبانی از زمینههای غیرایمن از مشخصات نسخه 1 EME حذف شد و در توصیه پیشنهادی پشتیبانی نمیشود و در نهایی بعدی پیشبینی نمیشود. در توصیه پیشنهادی آتی یا توصیه نهایی بعدی نخواهد بود. API از Chrome 44 (مه 2015) یک پیام منسوخ شدن در منابع غیر ایمن نشان می دهد. در Chrome 58، اکنون حذف شده است. این تغییر بخشی از تلاش گستردهتر ما برای حذف ویژگیهای قدرتمند از مبداهای ناامن است.
قصد حذف | ردیاب Chromestatus | اشکال کروم
تماس گیرنده قدیمی برای HTMLEmbedElement و HTMLObjectElement را حذف کنید
اینکه یک رابط دارای یک فراخوان قدیمی است به این معنی است که یک نمونه را می توان به عنوان یک تابع فراخوانی کرد. در حال حاضر، HTMLEmbedElement
و HTMLObjectElement
از این قابلیت پشتیبانی می کنند. در Chrome 57 این قابلیت منسوخ شده بود. از Chrome 58 شروع، فراخوانی یک استثنا ایجاد می کند.
این تغییر کروم را با تغییرات اخیر مشخصات مطابقت می دهد. رفتار قدیمی در Edge یا Safari پشتیبانی نمیشود و از Firefox حذف میشود.
قصد حذف | ردیاب Chromestatus | اشکال کروم
رمزهای پیش استاندارد ChaCha20-Poly1305 را حذف کنید
در سال 2013، Chrome 31 مجموعههای رمزنگاری TLS جدید را بر اساس الگوریتمهای ChaCha20 و Poly1305 پروفسور دن برنشتاین به کار گرفت. اینها بعداً با تغییرات کوچک در IETF به عنوان RFC 7539 و RFC 7905 استاندارد شدند. ما نسخه استاندارد شده را در اوایل سال 2016 با Chrome 49 ارسال کردیم. اکنون در حال حذف انواع پیش استاندارد هستیم.
قصد حذف | ردیاب Chromestatus | اشکال کروم
پشتیبانی از تطبیق commonName در گواهی ها را حذف کنید
RFC 2818 دو روش را برای تطبیق نام دامنه با گواهی توصیف میکند: استفاده از نامهای موجود در پسوند subjectAlternativeName
، یا در صورت عدم وجود پسوند SAN، بازگشت به commonName
. بازگشت به commonName
در RFC 2818 (منتشر شده در سال 2000) منسوخ شد، اما پشتیبانی در تعدادی از کلاینتهای TLS، اغلب نادرست، باقی میماند.
استفاده از فیلدهای subjectAlternativeName
این موضوع را مبهم باقی میگذارد که آیا یک گواهی یک اتصال به یک آدرس IP یا یک نام دامنه را بیان میکند و کاملاً از نظر تعامل آن با محدودیتهای نام تعریف میشود. با این حال، commonName
مبهم است، و به همین دلیل، پشتیبانی از آن منبعی از اشکالات امنیتی در کروم، کتابخانههایی که از آن استفاده میکند، و در کل اکوسیستم TLS بوده است.
خطر سازگاری برای حذف commonName
کم است. RFC 2818 این مورد را برای نزدیک به دو دهه منسوخ کرده است و الزامات پایه (که همه مقامات گواهی مورد اعتماد عمومی باید از آنها پیروی کنند) از سال 2012 مستلزم وجود subjectAltName
بوده است. فایرفاکس از قبل از فایرفاکس 48 به عنوان subjectAltName
برای هر گواهینامه مورد اعتماد عمومی تازه صادر شده نیاز دارد. .
قصد حذف | ردیاب Chromestatus | اشکال کروم
بیت های TextTrack مربوط به VTTRegion
regions
عناصر رابط، addRegion()
و removeRegion()
از مشخصات WebVTT حذف شده اند و در Chrome 58 حذف شده اند تا با آخرین مشخصات مطابقت داشته باشند. ما انتظار تاثیر کمی از این حذف را داریم زیرا این ویژگی هرگز به طور پیش فرض فعال نشده است (به این معنی که پشت پرچم قرار دارد). کسانی که به یک جایگزین نیاز دارند می توانند از ویژگی VTTCue.region
که در Chrome 58 اضافه شده است استفاده کنند.
ردیاب Chromestatus | اشکال کروم
WebAudio: رابط AudioSourceNode را حذف کنید
رابط AudioSourceNode
بخشی از مشخصات Web Audio نیست، قابل ساخت نیست و هیچ ویژگی ندارد، بنابراین اساساً هیچ عملکرد قابل دسترسی توسعهدهنده ندارد. بنابراین در حال حذف است.
قصد حذف | ردیاب Chromestatus | اشکال کروم
ویژگی جهانی webkitdropzone را حذف کنید
ویژگی جهانی dropzone
با مشخصات کشیدن و رها کردن HTML5 به عنوان یک روش اعلامی برای مشخص کردن تمایل عنصر HTML به هدف عملیات کشیدن و رها کردن، انواع محتوایی که میتوان روی عنصر رها کرد و کشیدن آن معرفی شد. عملیات -و رها کردن (کپی/انتقال/لینک).
این ویژگی نتوانست در بین فروشندگان مرورگر محبوبیت پیدا کند. Blink و WebKit فقط یک فرم پیشوندی از ویژگی، webkitdropzone
پیاده سازی می کنند. از آنجایی که ویژگی dropzone
در اوایل مارس 2017 از مشخصات حذف شد، نسخه پیشوندی از کروم حذف میشود.
قصد حذف | ردیاب Chromestatus | اشکال کروم
استفاده ناامن از اعلان ها را منسوخ کنید
اعلانها یک ویژگی قدرتمند هستند زیرا به وبسایتها اجازه میدهند تا از یک رابط کاربری سیستم برای انتقال اطلاعات خصوصی یا سیگنالی مبنی بر تغییر اطلاعات خصوصی استفاده کنند. مهاجمان ممکن است هر اطلاعاتی را که از طریق یک اعلان از طریق یک اتصال ناامن ارسال می شود، استشمام کرده یا بدزدند. فشار وب به یک منبع امن نیاز دارد، بنابراین این تغییر اعلانهای غیر فشاری را با اعلانهای فشاری هماهنگ میکند. این تغییر بخشی از تلاش گستردهتر ما برای حذف ویژگیهای قدرتمند از مبداهای ناامن است.
قصد حذف | ردیاب Chromestatus | اشکال کروم
استفاده از اعلانهای iframe ناامن را منسوخ کنید
درخواستهای مجوز از iframes میتواند باعث سردرگمی کاربران شود، زیرا تشخیص بین مبدا صفحه حاوی و مبدا iframe که درخواست را ارائه میکند دشوار است. زمانی که دامنه درخواست ها نامشخص است، قضاوت در مورد اعطای یا رد مجوز برای کاربران دشوار است.
غیرمجاز کردن اعلانها در iframe نیز الزامات مجوز اعلان را با اعلانهای فشاری هماهنگ میکند و اصطکاک را برای توسعهدهندگان کاهش میدهد.
توسعه دهندگانی که به این قابلیت نیاز دارند می توانند پنجره جدیدی را برای درخواست مجوز اعلان باز کنند.
حذف در Chrome 62 است.
قصد حذف | ردیاب Chromestatus | اشکال کروم
حذف indexedDB.webkitGetDatabaseNames()
ما این ویژگی را زمانی اضافه کردیم که Indexed DB در کروم نسبتاً جدید بود و پیشوندها بسیار رایج بود. API به طور ناهمزمان فهرستی از نام های پایگاه داده موجود را در یک مبدا برمی گرداند که به اندازه کافی معقول به نظر می رسید.
متأسفانه، طراحی ناقص است، زیرا نتایج ممکن است به محض بازگرداندن آنها منسوخ شوند، بنابراین واقعاً می توان از آن فقط برای ورود به سیستم استفاده کرد، نه منطق برنامه جدی. موضوع github به بحث های قبلی در مورد جایگزین ها، که نیاز به رویکرد متفاوتی دارد، ردیابی می کند/پیوند می دهد. در حالی که توسعه دهندگان علاقه زیادی به آن دارند، با توجه به عدم پیشرفت مرورگرهای متقابل، این مشکل توسط نویسندگان کتابخانه حل شده است.
توسعه دهندگانی که به این قابلیت نیاز دارند باید راه حل خود را توسعه دهند. کتابخانه هایی مانند Dexie.js برای مثال از یک جدول جهانی استفاده می کنند که خود پایگاه داده دیگری برای ردیابی نام پایگاه های داده است.
این ویژگی در کروم 60 حذف شده است.