M52: Merge  "Reland: service worker: Don't control a subframe of an insecure context"

This merge includes:

[1]
service worker: When claiming, don't assume document_url is valid

Many provider hosts have an empty document_url, for example those
that haven't yet been loaded or those created for special URLs like
chrome-search://. So that claim can use IsContextSecureForServiceWorker,
return false when the URL is invalid instead of doing a
DCHECK that it's valid.

BUG=621762,607543

Review-Url: https://codereview.chromium.org/2085923002
Cr-Commit-Position: refs/heads/master@{#401216}
(cherry picked from commit dd5dd98f5f59f4f53274308ec0a7dca74aba6525)

[2]
Remove WebFrame::canHaveSecureChild

To simplify the public API, ServiceWorkerNetworkProvider can do the
parent walk itself.

Follow-up to https://crrev.com/ad1850962644e19.

BUG=607543

Review-Url: https://codereview.chromium.org/2082493002
Cr-Commit-Position: refs/heads/master@{#400896}
(cherry picked from commit 8353baf8d1504dbdd4ad7584ff2466de657521cd)

[3]
Reland: service worker: Don't control a subframe of an insecure context

We must check isSecureContext when creating the network provider to
adhere to https://w3c.github.io/webappsec/specs/powerfulfeatures/#settings-privileged.

We already did this for getRegistration(), register(), unregister() but must
also do this when deciding whether to control an in-scope document.

BUG=607543
CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_site_isolation

Original review: https://codereview.chromium.org/2009453002

Review-Url: https://codereview.chromium.org/2071433003
Cr-Commit-Position: refs/heads/master@{#400093}
(cherry picked from commit ad1850962644e19cdb040d60eb236e0ebc23c243)

[4]
service worker: Remove unused PROVIDER_FOR_SANDBOXED_IFRAME

Clean-up only. This was added in https://codereview.chromium.org/1191293002/
then became unused in https://codereview.chromium.org/1399363004. Originally it
signaled to the ServiceWorkerNetworkProvider ctor that the provider id should
be set to invalid; now the default ctor is used accomplish that.

BUG=

Review-Url: https://codereview.chromium.org/2023733002
Cr-Commit-Position: refs/heads/master@{#396685}
(cherry picked from commit ae9107fb035320cc53558a0bb1ff5c9bf99cfffe)

TBR=horo

Review URL: https://codereview.chromium.org/2142523004 .

Cr-Commit-Position: refs/branch-heads/2743@{#614}
Cr-Branched-From: 2b3ae3b8090361f8af5a611712fc1a5ab2de53cb-refs/heads/master@{#394939}
36 files changed