Implement service worker updateViaCache interface in Blink

updateViaCache is an attribute on ServiceWorkerRegistration that
controls whether the browser cache (the HTTP cache) is used when
performing an update check.

Using Cache-control: no-cache or max-age: 0 on their service worker
script resources has been a best practice among developers in order to
detect script updates. The spec is updated to reflect this practice and
now includes a new parameter, updateViaCache for cache control for
service worker registrations.

This patch implements the interface in blink.

Intent to implement and ship: https://groups.google.com/a/chromium.org/d/msg/blink-dev/RwjXGTAbuuA/7Q3NPlJ4BAAJ
Split from the original patch: https://chromium-review.googlesource.com/c/chromium/src/+/618076

Bug: 675540
Change-Id: Ia36b2a813f70ccc9ee1a99530926ab6e78d76357
Reviewed-on: https://chromium-review.googlesource.com/752703
Commit-Queue: Emma Haruka Iwao <yuryu@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Philip Jägenstedt <foolip@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Matt Falkenhagen <falken@chromium.org>
Reviewed-by: Hiroki Nakagawa <nhiroki@chromium.org>
Cr-Commit-Position: refs/heads/master@{#516435}
20 files changed