Last Weeks in WebKit:
Clipping element painting and SCSS highlighting in the Inspector
This update discusses the 1,305 changes made in the last two weeks, up to revision 128,016.
Within Web Inspector, the $() function now aliases querySelector rather than getElementById, meaning you can also select on classes, elements or more advanced selectors. Stylesheets using SASS’ SCSS format will now be highlighted. The experimental WebGL front-end is now able to link you the relevant call in the source code and status bar glyphs now have high-DPI images.
Support for the overflow-wrap property has been added, which is a new property to which word-wrap is a shorthand. Within the calc() function, expressions using the “em” unit will now zoom correctly and it’s now possible to use CSS Variables within expressions, assuming support for both is available in your build. Robert fixed yet another CSS 2.1 issue, so WebKit now prevents the margins of collapsed blocks from collapsing with parent margins.
Dirk introduced the “clip-path” CSS property into WebKit, which restricts the region of an element that can be painted. Changes landed making this work for both HTML and SVG elements, together with a fix which makes sure that the correct origin of polygons will be applied.
Using Content Security Policy will now disable dynamic script evaluation in workers. Automatic features (i.e. autoplay) will now work in sandboxed iframes if they allow scripts and TextTrack modes will now be reported as strings. MediaSource objects now have a duration property, non-anchored <dialog> elements will now be vertically centered and dynamically removing preserve-3d from a layer now yields the wanted effect. Finally, the MediaSource, SourceBuffer and SourceBufferList objects have received WebKit-specific prefixes.
Tommy has been working on WebRTC’s PeerConnection interface, adding the asynchronous createOffer method, the createAnswer method, ICE-related functionality and support for local and remote descriptions.
In terms of experimental features, Dave’s been working on the new Multiple Column implementation again, and added support for painting the contents, column repainting and unforced column breaking, next to some clean-ups. The CSS Shaders implementation now features various new blending and compositing modes.
Other changes which occurred in the last two weeks:
- The compile-time flag for supporting the Flexible Box Module has been removed.
- Being a true Irishman, Mr. Kling reduced memory usage of the HTML5 spec by 3.5MB.
- Rotations of more than 180 degrees will now be accelerated in Chromium.
- Chromium has enabled support for <track> by default, and added a toggle button.
- A color picker has been implemented for the BlackBerry port.
- Chromium for Android’s “Link Preview” feature has been implemented in WebKit.
- Form states in sub-frames can now be restored again.