This intent to ship adds the following API to the Service Worker subset we shipped in M40:
ServiceWorker Cache API’s match
Having match() available natively is a win for performance and help us with our plan to retire the hybrid native + polyfill approach we’ve been recommending so far.
Link to “Intent to Implement” blink-dev discussion
The spec and project used to be called Navigation Controller, but the name was changed to Service Worker.
Is this feature supported on all five Blink platforms (Windows, Mac, Linux, Chrome OS and Android)?
[New in M41] you can now inspect Caches directly from DevTools!
Pluses and minuses:
+ This is a relatively small addition to a shipping API surface
+ There's a second public working draft of the spec.
+ Mozilla is implementing Service Workers in Firefox, see bug 903441.
+ The team has been writing W3C testharness.js tests first, and only using Blink-specific tests for crashing and GC-related things. We plan to upstream these tests to W3C.
- The spec is under active development. However, match() has been stable for a long time.
OWP launch tracking bug?
Link to entry on the feature dashboard
 Link to past Intent to Ship
LGTM, this looks like a pretty central piece of Service Workers. Even if it can be polyfilled with Cache.keys() the first code examples people try may just be http://jakearchibald.com/2014/service-worker-first-draft/ which uses Cache.match() a lot.
Cache.match() is defined in the spec in terms of Cache.matchAll(), but this doesn't seem to be the case in the implementation, and Cache.matchAll() isn't exposed in the IDL yet: http://crbug.com/428363Since one is defined in terms of the other I think they should ideally be shipped together, at least if matchAll() is an easy to fix that nobody has gotten around to yet. LGTM either way.