Use per-frame task runner at WebSocketHandshakeThrottle and MimeSniffingLoader

This CL switches task runners at several places from per-thread to
per-frame. The purpose of this change is to make it possible to freeze
tasks for bfcache.

bfcache is a new feature to freeze a tab for quick back-forwarding. When
a tab goes frozen, we can stop per-frame task runners while we cannot
per-thread task runners since per-thread task runners can be shared
between multiple tags/pages. As a frozen tab must not execute any
JavaScript, all JavaScript execution must be on per-frame task runners,
which can be suspended.

Bug: 913912
Change-Id: Ic0deb8d3cb421e2a25ee25a5dd81b3387b83e3bb
Reviewed-on: https://chromium-review.googlesource.com/c/1405960
Reviewed-by: Kinuko Yasuda <[email protected]>
Reviewed-by: Tao Bai <[email protected]>
Reviewed-by: Alexander Timin <[email protected]>
Reviewed-by: Jochen Eisinger <[email protected]>
Reviewed-by: Kentaro Hara <[email protected]>
Commit-Queue: Hajime Hoshi <[email protected]>
Cr-Commit-Position: refs/heads/master@{#626091}
23 files changed