گوگل از نسخه مرورگر وب کروم 99 رونمایی کرد. همزمان، نسخه پایدار پروژه رایگان کرومیوم که به عنوان پایه کروم عمل می کند، در دسترس است. مرورگر کروم با استفاده از نشانوارههای گوگل، وجود سیستمی برای ارسال اعلانها در صورت خرابی، ماژولهایی برای پخش محتوای ویدیویی محافظت شده از کپی (DRM)، سیستمی برای نصب خودکار بهروزرسانیها و انتقال پارامترهای RLZ در هنگام خرابی متمایز میشود. جستجوکردن. نسخه بعدی Chrome 100 برای 29 مارس برنامه ریزی شده است.
تغییرات عمده در کروم 99:
- Chrome for Android شامل استفاده از مکانیسم شفافیت گواهی است که یک گزارش عمومی مستقل از همه گواهیهای صادر شده و باطل شده را ارائه میکند. گزارش عمومی امکان انجام ممیزی مستقل از کلیه تغییرات و اقدامات مقامات صدور گواهینامه را فراهم می کند و به شما امکان می دهد فوراً هرگونه تلاش برای ایجاد مخفیانه سوابق جعلی را نظارت کنید. گواهینامه هایی که در Certificate Transparency منعکس نمی شوند به طور خودکار توسط مرورگر رد می شوند و خطای مناسب را نشان می دهند. پیش از این، این مکانیسم تنها برای نسخه دسکتاپ و برای درصد کمی از کاربران اندروید فعال بود.
- به دلیل تعداد زیادی از شکایات، مکانیسم دسترسی به شبکه خصوصی، که قبلاً در حالت آزمایشی پیشنهاد شده بود، غیرفعال شد، با هدف تقویت محافظت در برابر حملات مربوط به دسترسی به منابع در شبکه محلی یا رایانه کاربر (localhost) از اسکریپت های بارگیری شده در هنگام سایت باز می شود برای محافظت در برابر چنین حملاتی در صورت دسترسی به منابع فرعی در شبکه داخلی، پیشنهاد می شود درخواست صریح برای مرجع دانلود چنین منابع فرعی ارسال شود. Google پیاده سازی را بر اساس بازخورد دریافتی بررسی می کند و نسخه بهبود یافته ای را در نسخه بعدی ارائه می دهد.
- قابلیت حذف موتورهای جستجوی پیش فرض بازگشته است. یادآوری می کنیم که با شروع از Chrome 97 در پیکربندی در بخش "مدیریت موتور جستجو" (chrome://settings/searchEngines) امکان حذف عناصر از لیست موتورهای جستجوی پیش فرض (گوگل، بینگ، یاهو) و ویرایش پارامترهای موتور جستجو متوقف شد که باعث نارضایتی بسیاری از کاربران شد.
- در پلتفرم ویندوز، حذف برنامه های کاربردی تحت وب (PWA، Progressive Web App) از طریق تنظیمات سیستم یا کنترل پنل، شبیه به حذف برنامه های ویندوز، امکان پذیر است.
- آزمایش نهایی برای اختلال احتمالی سایت ها پس از رسیدن مرورگر به نسخه ای متشکل از سه رقم به جای دو رقم در حال انجام است (در یک زمان، پس از انتشار Chrome 10، مشکلات زیادی در کتابخانه های تجزیه کاربر-عامل ظاهر شد). هنگامی که گزینه "chrome://flags#force-major-version-to-100" فعال می شود، نسخه 100 در هدر User-Agent نمایش داده می شود.
- CSS از لایههای آبشاری پشتیبانی میکند که با استفاده از قانون لایه @ تعریف شده و از طریق قانون CSS @import با استفاده از تابع لایه () وارد میشود. قوانین CSS در یک لایه آبشاری با هم آبشار میشوند، مدیریت کل آبشار را آسانتر میکند، انعطافپذیری برای تغییر ترتیب لایهها را فراهم میکند و امکان کنترل واضحتر فایلهای CSS را فراهم میکند و از تداخل جلوگیری میکند. استفاده از لایههای آبشاری برای مضامین طراحی، تعریف سبکهای پیشفرض عناصر، و صادرات طراحی اجزا به کتابخانههای خارجی راحت است.
- متد showPicker() به کلاس HTMLInputElement اضافه شده است که به شما امکان می دهد دیالوگ های آماده را برای پر کردن مقادیر معمولی در فیلدها نمایش دهید. با انواع «تاریخ»، «ماه»، «هفته»، «زمان»، «تاریخ-محلی»، «رنگ» و «فایل»، و همچنین برای فیلدهایی که تکمیل خودکار و فهرست داده را پشتیبانی میکنند. به عنوان مثال، می توانید یک رابط تقویمی برای انتخاب تاریخ یا یک پالت برای وارد کردن یک رنگ نشان دهید.
- در حالت Origin Trials (ویژگی های آزمایشی که نیاز به فعال سازی جداگانه دارند)، امکان فعال کردن حالت طراحی تاریک برای برنامه های وب وجود دارد. رنگ ها و پس زمینه برای تم تیره با استفاده از فیلد color_scheme_dark جدید در فایل مانیفست برنامه وب انتخاب می شوند. Origin Trial به معنای توانایی کار با API مشخص شده از برنامه های دانلود شده از localhost یا 127.0.0.1 یا پس از ثبت نام و دریافت یک توکن خاص است که برای مدت محدودی برای یک سایت خاص معتبر است.
- Handwriting Recognition API تثبیت شده و به همه ارائه شده است و امکان استفاده از خدمات تشخیص دست خط ارائه شده توسط سیستم عامل را فراهم می کند.
- برای برنامههای وب مستقل نصب شده (PWA، برنامه وب پیشرو)، مؤلفه Overlay Controls Window تثبیت شده است، و ناحیه صفحه برنامه را به کل پنجره، از جمله ناحیه عنوان، که دکمههای کنترل پنجره استاندارد روی آن قرار دارد، گسترش میدهد. (بستن، کمینه کردن، حداکثر کردن) روی هم قرار می گیرند. برنامه وب می تواند رندر و پردازش ورودی کل پنجره را کنترل کند، به جز بلوک پوشش با دکمه های کنترل پنجره.
- تابع CSS calc() به مقادیری مانند "infinity"، "-infinity" و "NaN" یا عباراتی که منجر به مقادیر مشابه می شوند، مانند "calc(1/0)" اجازه می دهد.
- پارامتر "تنها" به طرح رنگی ویژگی CSS اضافه شده است، که این امکان را فراهم می کند تا تعیین کنید که یک عنصر در کدام طرح های رنگی می تواند به درستی نمایش داده شود ("روشن"، "تاریک"، "حالت روز" و "حالت شب" )، به شما این امکان را می دهد که طرح رنگ تغییرات اجباری را برای عناصر تک تک HTML حذف کنید. به عنوان مثال، اگر "div { color-scheme: only light }" را مشخص کنید، فقط از تم روشن برای عنصر div استفاده میشود، حتی اگر مرورگر آن را مجبور به فعال کردن تم تیره کند.
- برای تغییر مقادیر ویژگی document.adoptedStyleSheets، اکنون میتوان از push() و pop() به جای تخصیص مجدد کامل ویژگی استفاده کرد. به عنوان مثال، "document.adoptedStyleSheets.push(newSheet);".
- پیاده سازی رابط CanvasRenderingContext2D پشتیبانی از رویدادهای ContextLost و ContextRestored، متد reset()، گزینه "willReadFrequently"، اصلاح کننده های متن CSS، رندر اولیه roundRect و گرادیان های مخروطی را اضافه کرده است. پشتیبانی بهبود یافته از فیلترهای SVG.
- پیشوند «-webkit-» از ویژگیهای «تأکید نوشتار»، «رنگ-تأکید متن»، «موقعیت-تأکید نوشتار» و «سبک تأکید متن» حذف شد.
- برای صفحاتی که بدون HTTPS باز می شوند، دسترسی به Battery Status API که به شما امکان می دهد اطلاعات مربوط به شارژ باتری را به دست آورید، ممنوع است.
- متد navigator.getGamepads() خروجی آرایه ای از اشیاء Gamepad را به جای GamepadList ارائه می دهد. GamepadList دیگر در Chrome پشتیبانی نمیشود، به دلیل الزامات استاندارد و رفتار موتورهای Gecko و Webkit.
- WebCodecs API با مشخصات مطابقت دارد. به طور خاص، متد EncodedVideoChunkOutputCallback() و سازنده VideoFrame() تغییر کرده اند.
- در موتور جاوا اسکریپت V8، تقویمهای ویژگیهای جدید، مجموعهها، چرخههای ساعت، سیستمهای شمارهگذاری، زونهای زمانی، textInfo و weekInfo به API Intl.Locale اضافه شدهاند که اطلاعات مربوط به تقویمهای پشتیبانیشده، مناطق زمانی و پارامترهای زمانی و متنی را نمایش میدهند. const arabicEgyptLocale = New Intl.Locale('ar-EG') // ar-EG arabicEgyptLocale.calendars // ['gregory', 'coptic', 'islamic', 'islamic-civil', 'islamic-tbla'] arabicEgyptLocale .collations // ['compat'، 'emoji'، 'eor'] arabicEgyptLocale.hourCycles // ['h12'] arabicEgyptLocale.numberingSystems // ['arab'] arabicEgyptLocale.timeZones // ['AfricaiEgypt'Locale]araC .textInfo // {direction: 'rtl' } japaneseLocale.textInfo // {direction: 'ltr' } ChineseTaiwanLocale.textInfo // {direction: 'ltr' }
- تابع Intl.supportedValuesOf(code) اضافه شد، که آرایه ای از شناسه های پشتیبانی شده را برای API بین المللی برای تقویم، دسته بندی، واحد پول، شماره گذاری سیستم، منطقه زمانی و ویژگی های واحد برمی گرداند. Intl.supportedValuesOf('unit') // ['acre', 'bit', 'byte', 'Clsius', 'centimeter', …]
- بهبودهایی در ابزارهای توسعه دهندگان وب ایجاد شده است. پانل شبکه توانایی کند کردن درخواست های WebSocket را برای اشکال زدایی کار در شرایط اتصال شبکه کند فراهم می کند. یک پانل برای ردیابی گزارش های تولید شده از طریق Reporting API به برگه "برنامه" اضافه شده است. پانل Recorder اکنون از انتظار قبل از مشاهده یا قابل کلیک کردن یک عنصر قبل از پخش یک فرمان ضبط شده پشتیبانی می کند. شبیه سازی تم تاریک ساده شده است. کنترل بهتر پانل ها از صفحه نمایش لمسی. در کنسول وب، پشتیبانی از دنبالههای فرار برای برجسته کردن متن به رنگ اضافه شده است، پشتیبانی از ماسکهای عام %s، %d، %i و %f اضافه شده است و عملکرد فیلترهای پیام بهبود یافته است.
علاوه بر نوآوری ها و رفع اشکال، نسخه جدید 28 آسیب پذیری را از بین می برد. بسیاری از آسیبپذیریها در نتیجه آزمایش خودکار با استفاده از ابزارهای AddressSanitizer، MemorySanitizer، Control Flow Integrity، LibFuzzer و AFL شناسایی شدند. هیچ مشکل مهمی شناسایی نشده است که به شخص اجازه می دهد تمام سطوح حفاظت مرورگر را دور بزند و کد را در سیستم خارج از محیط سندباکس اجرا کند. به عنوان بخشی از برنامه پاداش نقدی برای کشف آسیبپذیریها برای نسخه فعلی، گوگل ۲۱ جایزه به ارزش ۹۶ هزار دلار (یک جایزه ۱۵۰۰۰ دلاری، دو جایزه ۱۰۰۰۰ دلاری، شش جایزه ۷۰۰۰ دلاری، دو جایزه ۵۰۰۰ دلاری، دو جایزه ۳۰۰۰ دلاری و یک جایزه ۲۰۱۰۰ دلاری) پرداخت کرد. .
منبع: opennet.ru