Make FrameFetchContext detachable

This CL makes FrameFetchContext work after detached from the underlying
frame and document, in order to support use-cases currently covered by PingLoader.

After detached, FrameFetchContext stops notifying, but keeps enforcing
security checks by storing the security information when detached. One important
TODO is ShouldBlockFetchByMixedContentCheck which is not implemented in this CL
because MixedContentChecker requires a real Frame instance.

Bug: 695939
Change-Id: I0fee9d39cd996a5546fe8378910386d9de7dc27d
Reviewed-on: https://chromium-review.googlesource.com/518743
Commit-Queue: Yutaka Hirano <yhirano@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Reviewed-by: Mike West <mkwst@chromium.org>
Cr-Commit-Position: refs/heads/master@{#478545}
8 files changed