Reland^3 "[blink] Control ScriptStreamer with ScriptResource"

This is a reland of 5528336d71c1ec02d5b6e8f3224755a9cfb20de4, which
was a reland of dd9df78ccc1e1ac79a5657966a264562c6d03fb7, which was
a reland of 7bd9163502462762e58d8010577dbf36aeef6c13.

VR tests have been properly deflaked in https://crrev.com/c/1319715, this
is otherwise unchanged.

Original change's description:
> Reland "Reland "[blink] Control ScriptStreamer with ScriptResource""
>
> This reverts commit c564235ff692fe0b3d926152748feb7902e8a800.
>
> No changes from the original, VR flakes are caused by issues with
> loadUrl and have been deflaked (see 894796 for details)
>
> Original change's description:
> > Revert "Reland "[blink] Control ScriptStreamer with ScriptResource""
> >
> > This reverts commit dd9df78ccc1e1ac79a5657966a264562c6d03fb7.
> >
> > Reason for revert: Makes VR tests flaky (https://crbug.com/894796)
> >
> > Original change's description:
> > > Reland "[blink] Control ScriptStreamer with ScriptResource"
> > >
> > > This is a reland of 7bd9163502462762e58d8010577dbf36aeef6c13
> > >
> > > No changes from the original, revert reason is fixed with
> > > https://chromium-review.googlesource.com/c/1283037
> > >
> > > Original change's description:
> > > > [blink] Control ScriptStreamer with ScriptResource
> > > >
> > > > Move the ScriptStreamer control logic from ClassicPendingScript to
> > > > ScriptResource. In the future, this will allow us to start streaming
> > > > a ScriptResource before the ClassicPendingScript is available, e.g on
> > > > preload.
> > > >
> > > > The ClassicPendingScript now only sends one "finished" callback, from
> > > > ScriptResource. This callback is either when the streaming completes,
> > > > or when there is no streaming and the ClassicPendingScript has told
> > > > the ScriptResource that it doesn't intend to start streaming. In the
> > > > long run, we want all scripts to go through the streaming interface,
> > > > and we want ScriptResource to control when streaming starts, so the
> > > > "no more streaming" call will disappear -- however it is necessary to
> > > > maintain the current behaviour, and be able to control it with a
> > > > runtime flag.
> > > >
> > > > Bug: chromium:865098
> > > > Change-Id: I2c4cc16635a6538b7ff24a24463fe6f34efd8a2e
> > > > Reviewed-on: https://chromium-review.googlesource.com/c/1181430
> > > > Commit-Queue: Leszek Swirski <leszeks@chromium.org>
> > > > Reviewed-by: Hiroshige Hayashizaki <hiroshige@chromium.org>
> > > > Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
> > > > Reviewed-by: Kouhei Ueno <kouhei@chromium.org>
> > > > Cr-Commit-Position: refs/heads/master@{#599148}
> > >
> > > TBR=kouhei@chromium.org,kinuko@chromium.org
> > >
> > > Bug: chromium:865098
> > > Change-Id: I0df324ef8e284f4d3d55a1721d71be5a66a3285c
> > > Reviewed-on: https://chromium-review.googlesource.com/c/1286450
> > > Commit-Queue: Leszek Swirski <leszeks@chromium.org>
> > > Reviewed-by: Hiroshige Hayashizaki <hiroshige@chromium.org>
> > > Cr-Commit-Position: refs/heads/master@{#601143}
> >
> > TBR=kinuko@chromium.org,rmcilroy@chromium.org,haraken@chromium.org,hiroshige@chromium.org,kouhei@chromium.org,vogelheim@chromium.org,leszeks@chromium.org
> >
> > # Not skipping CQ checks because original CL landed > 1 day ago.
> >
> > Bug: chromium:865098
> > Change-Id: Ibdbd7e80d0fcfacc84a73e83d165581c7f1d02d2
> > Reviewed-on: https://chromium-review.googlesource.com/c/1297138
> > Commit-Queue: Leszek Swirski <leszeks@chromium.org>
> > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#602310}
>
> TBR=kinuko@chromium.org,rmcilroy@chromium.org,haraken@chromium.org,hiroshige@chromium.org,kouhei@chromium.org,vogelheim@chromium.org,leszeks@chromium.org
>
> # Not skipping CQ checks because original CL landed > 1 day ago.
>
> Bug: chromium:865098
> Change-Id: I9794fe5366aa8cfc9291d53271ed680465b29a76
> Reviewed-on: https://chromium-review.googlesource.com/c/1317566
> Reviewed-by: Leszek Swirski <leszeks@chromium.org>
> Commit-Queue: Leszek Swirski <leszeks@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#605295}

TBR=kinuko@chromium.org,rmcilroy@chromium.org,haraken@chromium.org,hiroshige@chromium.org,kouhei@chromium.org,vogelheim@chromium.org

Bug: chromium:865098
Change-Id: I8d6101f51eb33b19ec332a06a310172b371b7fa4
Reviewed-on: https://chromium-review.googlesource.com/c/1318923
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/master@{#605815}
20 files changed