[ServiceWorker] Do not create SW providers for failed navigations

Previously, for failed navigations the navigation commit params may have
 - a false |should_create_service_worker|
or
 - a true |should_create_service_worker| with an invalid
   |service_worker_provider_id|.
In the latter case, probably a pre-created SWProviderHost has already
been destroyed due to failure of navigation in the browser process, but
the renderer process still tries to initiate a new SW provider creation
for this navigation, which should be a wasteful operation.

In effect, a failed navigation commit does not involve with Service
Workers at all, we can just omit any SW provider creation in the
renderer process. This CL does so.

BUG=931092

Change-Id: I4a8615f186456865205b30459ac05eb8a8dc0f9f
Reviewed-on: https://chromium-review.googlesource.com/c/1481015
Auto-Submit: Leon Han <leon.han@intel.com>
Reviewed-by: Matt Falkenhagen <falken@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Commit-Queue: Kinuko Yasuda <kinuko@chromium.org>
Cr-Commit-Position: refs/heads/master@{#634126}
1 file changed