Unlock the Power of Chrome 78: Exciting New Features for Web Developers
Get ready to revolutionize your web development experience with the latest stable version of Chrome 78, releasing on October 22, 2019. While users might not notice significant changes, web developers are in for a treat with several exciting new features.
CSS Opacity Percentage: Consistency at Last
The opacity property now accepts a percentage value between 0% and 100%, bringing much-needed consistency to CSS. This change aligns with the rgba() function, which already accepts percentages. You can also use percentages for opacities set in SVG properties like stop-opacity, fill-opacity, stroke-opacity, and shape-image-threshold.
JavaScript Optional Chaining: Say Goodbye to Tedious Code
Optional chaining, an ES2019 proposal, is a game-changer for JavaScript developers. Imagine analyzing a user object returned from an Ajax request to a REST API call. With optional chaining, you can use the concise?. chaining operator to avoid errors and tedious code.
Internationalization API Updates: Going Global Has Never Been Easier
The Intl object provides locale-specific string comparison, number formatting, and date and time formatting. Chrome 78 introduces calendar and numberingSystem options for locales that use multiple calendars or numbering systems. Check out the DateTimeFormat and NumberFormat examples to see how you can take your internationalization efforts to the next level.
Dark Pattern Restrictions: Protecting User Experience
Chrome 78 restricts certain events, such as synchronous Ajax requests and popup generation with window.open(), to prevent harm to the user experience. These restrictions aim to promote a safer and more enjoyable browsing experience.
Independent Scroll Offsets: Precise Control
Prior to Chrome 78, the window.scrollTo() method and scroll properties would calculate the nearest physical pixel. Now, you can pass the actual value, regardless of physical pixels, to ensure precise control over scrolling.
User Timing Level 3: Measure Performance with Ease
The User Timing API allows developers to measure application performance by creating custom timestamps. With Level 3, you can pass custom timestamps and arbitrary metadata to performance mark and measure methods.
Payment API Updates: Streamlining Online Transactions
Chrome 78 introduces several new options to the Payment Request API, including the hasEnrolledInstrument() method, retry() method, and PaymentRequest shippingaddresschange event. These updates aim to provide a consistent and secure online transaction experience for merchants and customers.
WebSocketStream: Efficient Two-Way Communication
WebSocketStream supersedes the WebSocket API, offering a promise-based, stream-integrated approach to two-way communication between the browser and server. This new API helps prevent memory buffer overflows and CPU usage issues.
Media Element Seekto Event: More Control Over Media Playback
Chrome 78 introduces a new seekto action handler, which is called when playback is moved to a specific point on the timeline. This event allows you to make DOM changes, record analytics, and more.
Screen Enumeration API: Multi-Monitor Support
The Screen Enumeration API provides information about all displays connected to the user’s device. This API will be useful in situations where an application can utilize multiple monitors, such as presentations with public-facing slides and speaker note displays.
Native File System API: Direct Interaction with Local Files
The Native File System API allows the browser to directly interact with chosen files on the user’s local device. This API could be used to edit photos, videos, or text documents from client-side JavaScript without requiring upload and download processes.
SMS Receiver API: Simplifying SMS Verification
The SMS Receiver API allows web apps to read SMS messages addressed to them using specific formatting conventions. This API simplifies SMS verification and eliminates the need for manual user interaction.
Miscellaneous Updates: A Treasure Trove of New Features
Chrome 78 also brings several minor and experimental features, including updates to the default color for input and text area ::placeholder text, service worker scripts, custom CSS properties, WebAssembly modules, and more.
Experiment with Caution: New Features May Change or Disappear
While these new features are exciting, remember that many are experimental and could change or disappear in future updates. Be cautious when implementing these features, and always prioritize stability and compatibility.