Last week introduced another 1,540 changes in the WebKit and Chromium repositories, which beats the previous record of 1,515 commits. Highlights include a branch for the Web Component Model, first steps in WebKit’s Microdata implementation and searching through multiple scripts in Web Inspector.
The Web Component Model has received its own branch at WebKit, allowing initial work to start. The Component Model provides programmatic ways to ways to build components, utilizing features such as the Shadow DOM, templates and the ability to create your own elements. It layers a declarative form of the same capabilities on this infrastructure, making it available to most HTML developers. See Alex Russell’s slides for more information.
A number of updates were done to Chromium’ Extension APIs. The Permission (docs) and Panel (docs) APIs have been moved out of experimental, whereas support for a new experimental Clipboard API has been added, which will grant extensions access to the system’s clipboard. Finally, the onAuthRequired callback in the webRequest API can now provide credentials when needed.
Within Web Inspector, support was added for an advanced search feature in the Scripts Panel that allows you to search through multiple scripts at the same time. Back-end work was done in preparation of supporting the ability to debug shared work initialization, and the ability to look up and explore an object from an heap profile was added.
As for specification support, the first patch for implementing HTML5 Microdata has landed, namely the getItems() method. For CSS Regions support, the content-order CSS property has been removed, flow has been renamed to flow-into and positioned blocks now work with variable width regions.
Robert Hogan has landed three more patches fixing tests from the CSS 2.1 test-suite, the event.layerX and .layerY properties have been removed, the :checked pseudo-element selector now matches a selected option and right-margins will be taken into account for vertical writing modes. Finally, the new CSS3 Flexbox implementation now supports flex-align for cross axis alignment in flex-flow: row containers.
Other changes which occurred last week:
- The Web Socket implementation has been updated to hybi-17, another breaking change.
- Several classes were shrunk in WebKit, leading to slightly improved memory usage.
- The UI that appears when entering fullscreen mode now provides options around granting sites
the ability to automatically enter fullscreen mode.
- Print Preview now offers support to set the margin settings for the printed page(s).
- The SQLite backing store for WebKit’s Indexed DB implementation has been removed.
- Support for GDI text-rendering on Chromium for Windows has been re-added.
- More deliberate typos have been introduced to Chromium’s build infrastructure.
- Updated icons for speech input were added, and the feature may now be disabled at build time.
- Slightly updated icons for the New Tab button on Chromium’s Tab Strip have been committed.
- More performance improvements for JSC: 1.2%, 1% and 1%, and build-in properties can’t be removed now.
- All of XHTMLMP-related code has been removed from WebKit, just like the remains of WBXML.
- With the revert of a certain patch, Twitter will become usable again on Chromium.
- The final part of basic IME support for Pepper APIs has been implemented.
- The usage of “web site” v.s. “web page” has been made consistent across Chromium.
- Chromium will learn about intranet hostnames more aggressively, so that trying to revisit a
previous host won’t result in a search page instead.
- A new field trail for Instant will be starting, only effecting the search home page.
- Chromium now supports dynamic switching between integrated and discrete GPUs on Mac OS X.
- DOM Storage, such as localStorage and sessionStorage, are now enabled for all WebKit ports.
For this week, you may want to keep an eye out on progress for a custom-written CSS Lexer and progress on implementing flex-flow for columns, both of which are quite exciting .
Read more (2 comments) »
Due to the absence of last week’s update as I was having a vacation, this article covers the past two weeks. In total, 1,118 commits happened at WebKit and 1,743 at Chromium, totaling up to 2,861 changes.
Last week, an extension has been released which implements Remote Desktop support to Chromium. Previously known as Chromoting, the extension allows you to remotely see and control any computer on any platform.
Web Inspector is still gearing up to support source mapping for languages such as CoffeeScript. Highlighting inline elements now differentiates between paddings, borders and margins and the heap snapshot color legend will pop-up again. Furthermore, many more files have been added to the script compilation.
Firstly, WebKit’s implementation of the HTML5 <track> element has finally matured enough to be exposed to web authors without custom builds. By supplying the –enable-video-track command line switch to any recent Chromium build, all available elements, attributes and properties will be exposed to your scripts. While the implementation is still incomplete, it’s definitely one to play around with.
A lot of work has been done in implementing CSS Regions in WebKit. The majority of overflow behavior has been implemented now, covering clamping a region’s descendants to their containing region, correct box painting of overflowed content into regions and proper behavior for the hidden, auto, scroll and visible values for the overflow property. Block splitting for regions with variable widths has been implemented, positioned objects will now use the first region as their initial containing block and the region-overflow CSS property and outlines are now supported.
As for the CSS filter property, the property syntax can now be parsed with the exception of the drop-shadow function, and can also be retrieved through the getComputedStyle method. Infrastructure for applying filters has been implemented, and the feColorMatrix saturation won’t be clamped between 0 and 1 anymore, per the spec.
As for specification support, font shaping through the font-feature-settings CSS property has been implemented on Windows. RGB colors using percentages now show the correct hex and HSL values, support for currentColor has been implemented for gradients, box-shadow and text-shadow. Attribute selectors have been added to the fast-path selector and have been taught how to share their styles.
Values in the cubic-bezier timing function are no longer clipped between 0 and 1, which allows bouncing effects. The -webkit-tap-highlight-color property is now available for all ports which enable touch events, and the text-transform property will now apply to select elements.
The method, enctype, formMethod and formEnctype attributes will now only accept known values. Web Sockets now have the extensions attribute, drawing stroked lines on a canvas may now be done by the proprietary webkitLineDash and webkitLineDashOffset attributes and audio elements will now emit the playing event for each run. For JSC, Object.prototype getter and setters have been aligned with ES5, as has Array.prototype this-handling.
Accessibility-wise, the new HTML5 section elements now map to the appropriate ARIA roles. Following this change, screen readers can actually understand your newer HTML5 code.
Other changes which occurred in the past two weeks:
Remind me not to skip next week, this was quite a write-up. More personally, thanks to all the awesome Fronteers 2011 attendees, speakers and organizers! I had a great time and the conference was a great success
Read more (3 comments) »
Last week, 539 changes landed in WebKit’s repository and 824 landed in Chromium’s, totaling up to 1,363 changes. Highlights include start of the CSS Filter implementation and lots of removed code within WebKit.
The Extension Settings API has been implemented for Chromium! This new API will allow you to specify settings for your extensions which will then be synchronized to the user’s Google Account, similar to your bookmarks.
Google Chrome Frame has been updated to no longer show a security prompt after it has been updated without re-starting Internet Explorer. This improves the user-experience for those stuck to IE quite significantly.
For those using Web Inspector on Windows, saving the timeline data is now working again. Callbacks originating from requestAnimationFrame will show up in the timeline panel, and the Metrics sidebar pane for the Elements panel will now be drawn at all times. Outlines have been removed from this pane as well, considering they’re not part of the box region.
Quite some cleaning up has occurred within WebKit as well, for one, the BREWMP and HAIKU ports have been removed as they weren’t being maintained anymore. similar to the implementation of WCSS. Several features, such as Application Cache and Server Sent Events have been enabled for all ports, and clearing of other miscellaneous compile-time flags started as well.
As for new features, Dean Jackson announced to start implementing the CSS Filter Effects, an effort led by the SVG and CSS Working Groups, enabling effects such as blur and drop shadows to occur on a page. Besides the implementation itself, investigation will be done as to enabling the effects to be animated and to be accelerated.
Other changes from last week include:
- The chrome://settings/extensions page has now officially taken over from chrome://extensions.
- The Console Extension API for the Developer Tools has now been exposed to extensions.
- The team-page on WebKit’s website will now be auto-generated from committers.py.
- Corners of elements being manipulated using CSS 3D Transforms will now anti-alias correctly.
- Redrawing the dirty parts of a large table has been optimized by adding additional caching.
- Similar to Chromium, using OVERRIDE and FINAL annotations in code is now possible in WebKit.
- Apple seems to be interested in using the Web Audio API, as they’ve added run-time settings for it.
- Clicking backspace to merge a header with a paragraph won’t produce a span element anymore.
- Implementation of DOM Mutation Observers seems to be starting in WebKit.
- Animating the alpha value of a composited layer within Chromium is now possible.
- Preparations are being made to move Grit to its own open source project.
- An entry in about:flags has been added allowing people to disable WebGL.
- Chromium on Mac OS X systems has now switched to using Skia as the default graphics layer.
- The Image Gallery has been made more ribbon-like for Chromium OS.
And that’ll be all again.
Read more (7 comments) »
WebKit’s repository received 460 commits during last week, while Chromium’s repository received 939, totaling up to 1,399 changes in a single week. Highlights include progress on the Download API, layers being clipped to border-radius and a completely implemented border-image.
Implementation of the download extension API in Chromium is continuing at a steady pace. Last week support was added for the onCreate and onErased callbacks, together with an implementation of the download() method. With this, the most basic behavior should be functioning.
As for specification support, the PeerConnection constructor has been renamed to the prefixed webkitPeerConnection, indicating that it may get enabled soon. Apple’s experimenting with removing the ability to call most collections, ruby text won’t overhang more than half the width of the neighboring text, the flex-align values have been renamed to match the specification and regions no longer slice line box render.
Work is continuing to support event constructors in WebKit. During last week, patches landed to support constructing ProgressEvent, ErrorEvent and HashChangeEvent, among various others for both V8 and JSC. WebKit’s hyphenation won’t wrap anymore between hyphen-minus and numeric characters, and changing the document.title variable will now affect the contents of the title element in XHTML documents.
WebKit’s implementation of the border-image CSS property went unprefixed, followed by a series of patches finalizing proper support for the property. Meanwhile, Dave also fixed overflow clipping to border-radius to work across layers.
Other changes which occurred last week:
And that’ll be all again. For this week, keep an eye out on Motorola’s interest to implement HTML5 <time>.
Read more (3 comments) »
With 903 commits to Chromium and 438 commits to WebKit, a combined 1,341 changes landed to both repositories during the last week. Highlights include revision 100,000, all separate border-image properties and isolated bidi.
Starting last Friday, Chromium’s version number is equal to the number of ounces in an avoirdupois pound. Meanwhile, Kazuhiro Inaba landed revision number 100,000, beating five other people who accidentally committed right around that time as well. On to revision number 217!
A new user interface is being implemented in Chromium for errors and warnings. The wrench menu badge and icon were added last week, shortly followed by bubble views for Mac, Views and GTK. The bubble will initially be used for displaying synchronization errors, but may later on contain other messages as well.
As for specification related updates, the HTMLSpanElement object has been added and the HTMLBlockquoteElement has been removed. Change events for numeric input fields will be fired when the user reverts a script-made change, support for the parting the scoped attribute has been added, in preparation of supporting scoped stylesheets and Eric Seidel finalized support for the unicode-bidi: isolate CSS property, together with the new <bdi> HTML element.
Three new CSS properties were added last week. Firstly, Dave Hyatt finalized support for the separate border-image properties by landing patches for border-image-width and border-image-outset, again with their masking equivalents. Dan Bernstein landed support for the hyphenate-limit-lines property, even though Safari is still the only port supporting hyphenation.
Other changes which occurred last week:
And with that, yet another busy week of changes has been aggregated.
Read more (5 comments) »