New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 838761 link

Starred by 3 users

Issue metadata

Status: Started
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 2
Type: Feature

Blocked on:
issue 845392



Sign in to add a comment

☂ Make Script Scheduling Intuitive and Performant

Project Member Reported by kouhei@chromium.org, May 2 2018

Issue description

Project Member

Comment 1 by bugdroid1@chromium.org, May 8 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a7e4a963e643b7dea33d4a466b502a1377f199db

commit a7e4a963e643b7dea33d4a466b502a1377f199db
Author: Kouhei Ueno <kouhei@chromium.org>
Date: Tue May 08 22:49:56 2018

ScriptLoaderTest: Refactor MockScriptLoader::Create{InOrder,Async}

Before this CL,
- MockScriptLoader* Create() actually called SetupForNonStreaming() inside, and
- SetupForStreaming() was called after SetupForNonStreaming(), twice.
This CL fixes these confusing behavior.
- Splits MockScriptLoader::Create{InOrder,Async}
- Unmocks StartStreamingIfPossible and turning it to an explicit state machine.
- Rewrites TryStreamWhenEnqueingScript so that it wouldn't rely on previously:
-- .WillOnce(Return(false)).WillRepeatedly(...)

Bug: 838761
Change-Id: I71a827a769467c23004be90daa084fdd9e95a3df
Reviewed-on: https://chromium-review.googlesource.com/1039112
Reviewed-by: Hiroshige Hayashizaki <hiroshige@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Commit-Queue: Kouhei Ueno <kouhei@chromium.org>
Cr-Commit-Position: refs/heads/master@{#556993}
[modify] https://crrev.com/a7e4a963e643b7dea33d4a466b502a1377f199db/third_party/blink/renderer/core/script/script_loader.h
[modify] https://crrev.com/a7e4a963e643b7dea33d4a466b502a1377f199db/third_party/blink/renderer/core/script/script_runner.cc
[modify] https://crrev.com/a7e4a963e643b7dea33d4a466b502a1377f199db/third_party/blink/renderer/core/script/script_runner_test.cc

Project Member

Comment 2 by bugdroid1@chromium.org, May 9 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/737f592b2ef40dc9c31d690a55af421b7214534e

commit 737f592b2ef40dc9c31d690a55af421b7214534e
Author: Kouhei Ueno <kouhei@chromium.org>
Date: Wed May 09 16:05:51 2018

ScriptLoader: Refactor ScriptLoader::ExecuteAsyncTask for its readability.

No change in behavior expected.

- ScriptRunner::GetPendingScriptIfAsync is now renamed to GetPendingScriptOfAsyncScript() and DCHECKs if the script loader is actually async.
- ScriptRunner::IsAsync() is introduced for an existing call-site which called the func just to see if the ScriptLoader is async.

Bug: 838761
Change-Id: I0cbe73c36706e1e4ae053dd3c438d2eb77c62699
Reviewed-on: https://chromium-review.googlesource.com/1036712
Commit-Queue: Kouhei Ueno <kouhei@chromium.org>
Reviewed-by: Hiroshige Hayashizaki <hiroshige@chromium.org>
Reviewed-by: Daniel Vogelheim <vogelheim@chromium.org>
Reviewed-by: Kentaro Hara <haraken@chromium.org>
Reviewed-by: Jeremy Roman <jbroman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#557206}
[modify] https://crrev.com/737f592b2ef40dc9c31d690a55af421b7214534e/third_party/blink/renderer/core/script/script_loader.cc
[modify] https://crrev.com/737f592b2ef40dc9c31d690a55af421b7214534e/third_party/blink/renderer/core/script/script_loader.h
[modify] https://crrev.com/737f592b2ef40dc9c31d690a55af421b7214534e/third_party/blink/renderer/core/script/script_runner.cc
[modify] https://crrev.com/737f592b2ef40dc9c31d690a55af421b7214534e/third_party/blink/renderer/core/script/script_runner.h
[modify] https://crrev.com/737f592b2ef40dc9c31d690a55af421b7214534e/third_party/blink/renderer/core/script/script_runner_test.cc

Comment 3 by kouhei@chromium.org, May 22 2018

Blockedon: 845392
Cc: domfarolino@gmail.com

Comment 5 by y...@yoav.ws, Jun 9 2018

Cc: y...@yoav.ws

Comment 6 by kouhei@chromium.org, Jun 11 2018

I'd still like to work on this but so far I've been busy with:
- WebPackaging impl (signed exchange and bundling)
- package-name-map impl.

The item is currently 3rd on my list.

Sign in to add a comment