Exactly 1,500 changes landed last week, 890 for Chromium and 610 for WebKit, bringing changes such as some usability updates in the CSS Profiler and new font-related CSS properties.
Early steps in supporting IndexedDB in Web Inspector have been made and a “source” column has been added to the CSS Profiler, directly pointing out the offending CSS rule.
As part of an ongoing effort in WebKit, several failing tests on the IE Testcenter have been fixed. Among these are executing prepared scripts even when they’ve been removed from the DOM and sandboxed i-frames will now block the autofocus attribute if the sandbox flags request it.
The new year’s first week ended calmly, bringing in 547 commits to WebKit and 650 to Chromium. Highlights include support for temporal dimensions for media files, alignment of Safari’s JavaScript engine with ES5 and lots of performance improvements.
Sanitization of non-parsable strings in date and time input boxes is now possible in WebKit, emptying the value if an invalid value has occurred. The </script>-close tag will now be properly highlighted in View Source, and horizontal paddings and borders will be used instead of vertical ones for a CSS table’s fixed width.
Eric Carlson implemented the temporal dimension portion of the Media Fragments URI specification. This allows you to append a formatted hash-string to any media file’s URL selecting which portion of the file should be played. For example, this plays the fourth until the twelfth second: video.webm#t=4,12.
Happy New Year! Since I didn’t publish an update last week, this one will cover all 680 WebKit and 986 Chromium commits made in the past two weeks. Highlights include a ton of Web Inspector changes, Jarred’s work on XMLHttpRequest and access to new JavaScript features through about:flags.
Besides support for true hardware acceleration, which pretty much is a requirement for features such as WebGL and CSS 3D Transforms, attention is also being given to software renderers. Several crashes for Apple’s OpenGL-software renderer have been fixed, and support for SwiftShader has been added for Windows installations, which will automatically be downloaded if support for GPU-based WebGL is blacklisted. While performance definitely won’t be en par with GPU-based WebGL, it’s a good solution for those on older systems.
The Web Inspector team landed some great new features, mostnotableof which is the CSS Selector Profiler. Available through the Profiles Panel in the Inspector, it will show the number of matches for a certain element and its contribution to the total style matching run-time. Two other new features, both displayed in the image below, are the ability to dock the Web Inspector to the right-side of the browser window (through the Settings window) and an experimental tabbed interface for the Script Panel.
On Chromium’s side for Web Inspector, both the chrome.devtools and the chrome.debugger Extension APIs graduated from being experimental, so hopefully we’ll be seeing a lot of extensions starting with Chrome 18!
WebKit’s HTML5 parser has received a number of updates, which include support for the Noah’s Ark condition, 93 named entities which expand to more than a single character and some minor fixes related to NULL characters in HTML content. Video subtitles through the <track> element can now be rendered on a video, and subtitles will be enabled for WebKit-mac builds, meaning Safari. Finally, the dropzone attribute got aligned with the specification.
Another 1,492 commits have been added to the projects; 826 to Chromium and an evil 666 to WebKit. Highlights include support for <ol reversed>, lots of changes for CSS Filters and rendering CSS Shaders.
Going forth in improving security in the browser, Chromium will now display a fatal error when it encounters pages using SSL certificates signed with the MD2 and MD4 hashing algorithms, and will display an interstitial warning page for certificates signed with MD5. Certificates with RSA and DSA keys of less than 1024 keys will also be rejected.
Within Web Inspector, a sidebar has been added to the Script Panel displaying the included scripts on by their host. A large amount of internal properties of objects using the Detailed Heap Snapshot tool have been hidden and hex-colors with just three characters will now be highlighted.
A significant memory improvement for Windows, sometimes yielding 5% improvement.
Another 4% speed-up on Kraken for Apple’s new DFG JIT.
Visited link hashes will now be cached, speeding up the total CPU usage on the HTML5 spec by 1%.
Since next Monday happens to be Boxing Day, I’ll publish a (probably brief) update the day after, Tuesday the 27th. Thank you for reading and have a Merry Christmas!
With 912 commits at Chromium and 590 at WebKit, totaling up at 1,502 changes, a fair amount of changes have happened again. Highlights include Mutation Observers for Chromium and animatable background images.
Chromium has reached a version number which equals a pentagonal pyramidal number: 18. In total, 7,107 Chromium commits, 4,198 WebKit commits and 526 v8 commits are included, totaling up to 11,831 changes for the Google Chrome 17 release, besides changes in other related projects such as Skia and NaCL.
Mutation Observers have been enabled for Chromium, which provide a much better alternative to DOM Mutation Events. Though still disabled by default, Chromium has been taught how to handle meta viewport elements, the scoped attribute for scoped stylesheets landed, table cells now understand widths in percentages and security around loading out-of-band text tracks has been improved by utilizing CORS.
WebKit now supports animations between background, border and list images utilizing the cross-fade() function which landed a few weeks ago. Parsing for multiple grid rows and columns has been added, as has parsing for the wrap and wrap-reverse values for the flex-flow property.
As a first step in being able to CSS Regions, background colors will now be applied. The behavior of !important in inline style sets has been aligned with the specification, automatic color adjustments for disabled input elements has been removed for Chromium and variousmore CSS 2.1 test failures have been fixed.
Other changes which occurred last week:
The Screen, Terminal and VT100 classes, all part of an HTML-based terminal emulator, landed.
A shutdown option has been added to Chromium OS’ wrench menu.
Chromium Profile avatars will now be displayed in Windows profile-specific shortcuts.
And that’ll be all for last week again. Things to keep an eye out for this week include custom written CSS Lexer and work by Simon Fraser to make the CSS Filter property animatable!
Following the relatively low count of 1,097 changes two weeks ago, last week introduced a combined total of 1,945 changes, 1,186 at Chromium and 759 at WebKit. While many of these changes were part of the rush for features to make it into Google Chrome 17 (which will be branched tomorrow), highlights include two important new features for the Flexbox implementation and a Socket API.
A few updates have been made to Chromium’s extension APIs, namely that the MHTML and webRequest APIs have been moved out of the experimental namespace, and a checkpointcommit for a new Socket API. While it’s not functional yet, it will eventually allow for extensions such as SSH and IRC clients to be made.
The visual appearance of Panels has been worked on quite a lot last week, with a visual refresh landing on Chromium for Mac OS X, together with a three-stage minimize animation. For Windows, the UI has been updated as well, and Panels can now also be drawn in iconified mode.
As for specification support, WebKit’s implementation of the bdo, bdi and output elements is now mostly aligned with the HTML5 specification. Limited parsing for the grid-columns and grid-rows properties has been implemented, CSS Filters will now render correctly on transformed elements and CSS Flexbox has been taught about reverse rows and columns. Images’ sources can be overwritten using the CSS content property now, and the correct focus rings for areas defined in an image’s image map will now be shown for zoomed pages.
Thanksgiving made last week a short week for people living in the United States, and as such only 1,079 changes landed to the Chromium and WebKit repositories. Highlights include a number of extension API updates, work on supporting game controllers and WebGL for the WebKitGTK port.
In light of the recent commit milestones Chromium and WebKit hit, it’s noteworthy to add that v8 reached revision 10,000 last week. Performance of switches using string clauses has been improved and preliminary detection for ES.next’s extended mode has been added, which basically reflects strict mode with some added functionality.
Chromium’s embedding code for GetUserMedia has been implemented in WebKit, another step closer.
The WebKit-side of supporting asynchronous spell-checking landed last week.
Usability of Web Inspector’s auto-complete suggestion box has been improved.
Some test-cases have been added for the Pointer Lock API at WebKit.
And that’s it again. Interesting changes for the upcoming week include the NamedFlow JavaScript interface for CSS Regions and stack traces for cross-origin access errors within Web Inspector.
Last week was the busiest week so far for both projects, totaling up to 1,745 changes — 794 for WebKit, and 951 for Chromium. Highlights include CSS Cross Fading, Flexible Box, Filters and <meta name=referrer>.
Within Chromium, the new History UI has been launched and can be seen on chrome://history. Content Security Policy will be enabled for all extensions using a (newly introduced) manifest version of two or higher and improved download protection has now been enabled by default, assuming you have Safe Browsing enabled.
Timothy Horton landed support for the CSS4 Images cross-fade() function. Though not fully implemented yet, it can be used as a value for any property that expects an image, such as background-image, and will render a cross faded combination of the two given images or gradients. Examples working in nightlies can be found here.
Another new feature which landed today is support for <meta name=”referrer”>. By specifying the referrer policy in the content attribute, which can be one of never (don’t include a referrer header on navigation), always (which includes cross-protocol requests), origin (just send the page’s origin) and default, you can anonymize any request.
With another 1,616 commits down the pipeline, 904 at Chromium’s and 712 as WebKit’s, another very busy week has passed. The highlights include a first working CSS Filter, the hundred-thousandth commit for WebKit and the ability to change your user agent in Web Inspector.
Web Inspector now shows the media queries which are associated with certain CSS Rules. The user agent with which a page gets loaded may now be changed, selected text in a Script panel received an extra context menu option to evaluate it directly in the console and a suggestion box will now be shown for both CSS as JavaScript properties. Finally, the indentation of pretty-printed JavaScript can now be configured.
Dean Jackson added code to WebKit’s CSS Parser, making it understand the syntax for drop shadows. Meanwhile, the first part of parsing the custom() filter definition, used for CSS Filters, landed as well. Support for parsing the line-grid-snap property has been added as well, which will allow snapping of text towards the nearest enclosing grid.
For WebKit ports who have CSS Filters enabled, the hue-rotate() filter started working per Dean’s plumbing of filter effects through the rendering code. Small as it is, it’s enough to be excited about :).
Last week, 1,332 changes landed in both repositories: 768 at Chromium’s and 564 at WebKit. Highlights include the possibility to print background images and colors, a vastly improved GC for Apple’s JavaScriptCore and quite some updates on Content Security Policy following last week’s TPAC.
A multi-threaded accelerated surface implementation has landed now for Chromium on Windows as well, which, together with a follow up patch, will aid in having multiple windows rendering at 60 frames per second.
Following discussion at last week’s TPAC, WebKit’s Content Security Policy implementation has been updated to handle empty URLs, the allow-popups directive has been implemented on request of Microsoft, as has the sandbox directive, which basically mirrors the “sandbox” attribute for html and iframe elements.
In terms of specification compliance, the CSS Parser has been adjusted to accept any character in a string except for newlines and the string-opening quote. Finally, window.onerror will now fire for exceptions and errors in attribute-scripts. Canvas objects can now be exported to WebP images and using a border-box box-sizing with elements that have display on table-cell won’t calculate the content height anymore.
In the past few weeks, a lot of performance improvements already landed for Apple’s JavaScriptCore, followed this week by another 3.8% on Kraken and 3.5% on v8. The latter is especially interesting, as it adds parallel tracing to the garbage collector, reducing GC pauses by almost 50% in day-to-day usage!
A compile time flag has been added for CSS Shaders, indicating that work there will be starting! A fair numberof bugs has already been created, which are being worked on together by Adobe and Apple engineers.
Other changes which occurred last week:
As discussed, Adam Barth started with moving WTF out of JavaScriptCore.
The arithmetic composite SVG Filter has been optimized for CPUs supporting ARM-Neon instructions.