Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(53)

Issue 368283002: Stream scripts to V8 as they load - Blink side. (Closed)

Created:
6 years, 5 months ago by marja
Modified:
6 years, 3 months ago
CC:
abarth-chromium, arv+blink, blink-reviews, blink-reviews-bindings_chromium.org, blink-reviews-dom_chromium.org, blink-reviews-html_chromium.org, dglazkov+blink, eae+blinkwatch, gavinp+loader_chromium.org, Nate Chapin, rwlbuis, sof
Project:
blink
Visibility:
Public.

Description

Stream scripts to V8 as they load - Blink side. V8 will parse the script as it's loading. The V8 side which adds the streaming API is here: https://codereview.chromium.org/366153002/ BUG= Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=182048

Patch Set 1 #

Patch Set 2 : rebased #

Patch Set 3 : stream cleanup #

Patch Set 4 : Rewrite: use PendingScript #

Patch Set 5 : in the middle of debugging #

Patch Set 6 : adoptref fix #

Patch Set 7 : script emptiness fix plus cleanup #

Patch Set 8 : smarter pointers #

Patch Set 9 : rebased #

Patch Set 10 : file splitting + random cleanup #

Patch Set 11 : origin and cached data #

Patch Set 12 : encodings #

Patch Set 13 : locking #

Patch Set 14 : misc: encodings, synchronization, failing scripts. #

Patch Set 15 : contextlessness fix #

Patch Set 16 : . #

Patch Set 17 : cleanup #

Patch Set 18 : race fix: script loaded notification vs. v8 completing its processing #

Patch Set 19 : scriptresourceclient fix #

Patch Set 20 : another race fix - between finish / cancel and a scheduled reallyFill #

Patch Set 21 : buffering fix #

Patch Set 22 : Another resourceclient fix #

Patch Set 23 : rebased #

Patch Set 24 : after-rebase fixes #

Patch Set 25 : use enhanced API #

Patch Set 26 : enhancement: give more data at a time #

Patch Set 27 : fixes #

Patch Set 28 : error handling plus misc fixes #

Patch Set 29 : comments #

Patch Set 30 : fix: don't return 0 if still waiting for data #

Patch Set 31 : move threading to blink #

Patch Set 32 : renaming #

Total comments: 96

Patch Set 33 : fix: if the encoding is bad, return immediately, don't get the data #

Patch Set 34 : rebased #

Patch Set 35 : fix rebase #

Patch Set 36 : suppress streaming if there is code cache #

Patch Set 37 : code review (haraken@) #

Patch Set 38 : minor elegance fix #

Patch Set 39 : rebased #

Patch Set 40 : adapting to the api changes #

Patch Set 41 : adapting to V8 api changes #

Patch Set 42 : api updates again; saner pendingscript handling #

Patch Set 43 : no isrunningtask #

Patch Set 44 : command line #

Patch Set 45 : comments, renaming #

Patch Set 46 : rebased #

Patch Set 47 : cleanup #

Patch Set 48 : cleanup #

Total comments: 45

Patch Set 49 : tests and testability #

Patch Set 50 : code review (haraken@) + bugfix (revalidating resources) #

Patch Set 51 : . #

Total comments: 24

Patch Set 52 : rebased #

Patch Set 53 : rebased #

Patch Set 54 : code review (haraken@, jochen@) #

Patch Set 55 : oops #

Patch Set 56 : oops2 #

Patch Set 57 : WTF_EXPORT fix #

Patch Set 58 : forget that the previous patch set ever existed #

Patch Set 59 : frame nullity null #

Patch Set 60 : removed untrue assert #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1018 lines, -46 lines) Patch
M Source/bindings/core/v8/PrivateScriptRunner.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 1 chunk +1 line, -1 line 0 comments Download
M Source/bindings/core/v8/ScriptDebugServer.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 1 chunk +1 line, -1 line 0 comments Download
M Source/bindings/core/v8/ScriptSourceCode.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 3 chunks +15 lines, -3 lines 0 comments Download
A Source/bindings/core/v8/ScriptStreamer.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 1 chunk +112 lines, -0 lines 0 comments Download
A Source/bindings/core/v8/ScriptStreamer.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 1 chunk +360 lines, -0 lines 0 comments Download
A Source/bindings/core/v8/ScriptStreamerTest.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 1 chunk +221 lines, -0 lines 0 comments Download
A Source/bindings/core/v8/ScriptStreamerThread.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 1 chunk +75 lines, -0 lines 0 comments Download
A Source/bindings/core/v8/ScriptStreamerThread.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 1 chunk +66 lines, -0 lines 0 comments Download
M Source/bindings/core/v8/V8ScriptRunner.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 2 chunks +4 lines, -1 line 0 comments Download
M Source/bindings/core/v8/V8ScriptRunner.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 5 chunks +30 lines, -14 lines 0 comments Download
M Source/bindings/core/v8/V8ScriptRunnerTest.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 1 chunk +1 line, -1 line 0 comments Download
M Source/bindings/core/v8/WorkerScriptController.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 1 chunk +1 line, -1 line 0 comments Download
M Source/bindings/core/v8/v8.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 2 chunks +5 lines, -0 lines 0 comments Download
M Source/core/Init.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 2 chunks +7 lines, -2 lines 0 comments Download
M Source/core/dom/PendingScript.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 3 chunks +17 lines, -5 lines 0 comments Download
M Source/core/dom/PendingScript.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 4 chunks +41 lines, -9 lines 0 comments Download
M Source/core/dom/ScriptLoader.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 1 chunk +2 lines, -2 lines 0 comments Download
M Source/core/fetch/ResourceClient.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 1 chunk +2 lines, -1 line 0 comments Download
M Source/core/fetch/ScriptResource.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 1 chunk +16 lines, -1 line 0 comments Download
M Source/core/fetch/ScriptResource.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 2 chunks +15 lines, -0 lines 0 comments Download
M Source/core/frame/Settings.in View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 1 chunk +2 lines, -0 lines 0 comments Download
M Source/core/html/parser/HTMLScriptRunner.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 1 chunk +1 line, -1 line 0 comments Download
M Source/core/html/parser/HTMLScriptRunner.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 4 chunks +14 lines, -1 line 0 comments Download
M Source/core/xml/parser/XMLDocumentParser.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 3 chunks +2 lines, -2 lines 0 comments Download
M Source/web/WebSettingsImpl.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 1 chunk +1 line, -0 lines 0 comments Download
M Source/web/WebSettingsImpl.cpp View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 1 chunk +5 lines, -0 lines 0 comments Download
M public/web/WebSettings.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 1 chunk +1 line, -0 lines 0 comments Download

Messages

Total messages: 41 (13 generated)
haraken
This is an incredibly exciting change! I'm happy to review the Blink side changes :) ...
6 years, 4 months ago (2014-08-17 16:05:28 UTC) #1
marja
Thanks for comments! 1) We talked about the code caching over chat. Here are some ...
6 years, 4 months ago (2014-08-20 11:45:57 UTC) #2
haraken
Thanks for the hard work! Now the overall approach looks good to me. (The only ...
6 years, 4 months ago (2014-08-20 15:00:19 UTC) #3
marja
haraken: the V8 side is reviewed now; ptal of this CL https://codereview.chromium.org/368283002/diff/620001/Source/bindings/core/v8/V8ScriptStreamer.cpp File Source/bindings/core/v8/V8ScriptStreamer.cpp (right): ...
6 years, 3 months ago (2014-09-09 17:00:26 UTC) #5
marja
In addition, a note about testing: I'd sincerely like to test ScriptStreamer, but I don't ...
6 years, 3 months ago (2014-09-09 17:05:02 UTC) #6
marja
A clarifying note: Technically I wouldn't need to mock V8 (since Blink has the task), ...
6 years, 3 months ago (2014-09-09 17:12:14 UTC) #7
haraken
On 2014/09/09 17:12:14, marja wrote: > A clarifying note: Technically I wouldn't need to mock ...
6 years, 3 months ago (2014-09-10 04:37:42 UTC) #8
haraken
On 2014/09/10 04:37:42, haraken wrote: > On 2014/09/09 17:12:14, marja wrote: > > A clarifying ...
6 years, 3 months ago (2014-09-10 04:59:18 UTC) #9
haraken
Mostly looks good (except that this CL needs a good test). https://codereview.chromium.org/368283002/diff/950001/Source/bindings/core/v8/ScriptStreamer.cpp File Source/bindings/core/v8/ScriptStreamer.cpp (right): ...
6 years, 3 months ago (2014-09-10 05:57:52 UTC) #10
marja
Thanks for having a look again. I've now uploaded a patch set, the changes are: ...
6 years, 3 months ago (2014-09-11 09:15:38 UTC) #11
marja
and now really adding jochen@, pls see the message above
6 years, 3 months ago (2014-09-11 09:16:06 UTC) #13
jochen (gone - plz use gerrit)
my parts lgtm with nits https://codereview.chromium.org/368283002/diff/1010001/Source/bindings/core/v8/ScriptSourceCode.h File Source/bindings/core/v8/ScriptSourceCode.h (right): https://codereview.chromium.org/368283002/diff/1010001/Source/bindings/core/v8/ScriptSourceCode.h#newcode65 Source/bindings/core/v8/ScriptSourceCode.h:65: ScriptSourceCode(PassRefPtr<ScriptStreamer> streamer, ScriptResource* cs) ...
6 years, 3 months ago (2014-09-11 12:45:09 UTC) #14
haraken
LGTM! This CL is full of nice comments. I think it would be better to ...
6 years, 3 months ago (2014-09-11 16:12:30 UTC) #15
marja
Thanks for review! Will try to land this now... haraken@: I don't remember whether we ...
6 years, 3 months ago (2014-09-15 17:45:27 UTC) #16
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patchset/368283002/1070001
6 years, 3 months ago (2014-09-15 17:47:05 UTC) #18
commit-bot: I haz the power
Try jobs failed on following builders: mac_gpu on tryserver.chromium.gpu (http://build.chromium.org/p/tryserver.chromium.gpu/builders/mac_gpu/builds/56030)
6 years, 3 months ago (2014-09-15 17:57:56 UTC) #20
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patchset/368283002/1090001
6 years, 3 months ago (2014-09-15 17:59:58 UTC) #22
commit-bot: I haz the power
Try jobs failed on following builders: android_chromium_gn_compile_rel on tryserver.blink (http://build.chromium.org/p/tryserver.blink/builders/android_chromium_gn_compile_rel/builds/10608) linux_blink_dbg on tryserver.blink (http://build.chromium.org/p/tryserver.blink/builders/linux_blink_dbg/builds/25229)
6 years, 3 months ago (2014-09-15 18:18:45 UTC) #24
haraken
> haraken@: I don't remember whether we already talked about this, but re: > announcement ...
6 years, 3 months ago (2014-09-15 23:25:14 UTC) #25
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patchset/368283002/1110001
6 years, 3 months ago (2014-09-16 07:15:22 UTC) #27
commit-bot: I haz the power
Try jobs failed on following builders: mac_blink_compile_dbg on tryserver.blink (http://build.chromium.org/p/tryserver.blink/builders/mac_blink_compile_dbg/builds/19503)
6 years, 3 months ago (2014-09-16 07:37:56 UTC) #29
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patchset/368283002/1150001
6 years, 3 months ago (2014-09-16 08:15:00 UTC) #31
commit-bot: I haz the power
Try jobs failed on following builders: linux_blink_rel on tryserver.blink (http://build.chromium.org/p/tryserver.blink/builders/linux_blink_rel/builds/24972)
6 years, 3 months ago (2014-09-16 09:26:15 UTC) #33
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patchset/368283002/1170001
6 years, 3 months ago (2014-09-16 10:04:39 UTC) #35
commit-bot: I haz the power
Try jobs failed on following builders: linux_blink_rel on tryserver.blink (http://build.chromium.org/p/tryserver.blink/builders/linux_blink_rel/builds/24988)
6 years, 3 months ago (2014-09-16 11:05:26 UTC) #37
marja
(FYI) https://codereview.chromium.org/368283002/diff/950001/Source/core/dom/PendingScript.cpp File Source/core/dom/PendingScript.cpp (right): https://codereview.chromium.org/368283002/diff/950001/Source/core/dom/PendingScript.cpp#newcode82 Source/core/dom/PendingScript.cpp:82: ASSERT(!m_streamer || !m_streamer->streamingInProgress()); On 2014/09/10 05:57:52, haraken wrote: ...
6 years, 3 months ago (2014-09-16 11:20:38 UTC) #38
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patchset/368283002/1190001
6 years, 3 months ago (2014-09-16 11:21:32 UTC) #40
commit-bot: I haz the power
6 years, 3 months ago (2014-09-16 12:29:41 UTC) #41
Message was sent while issue was closed.
Committed patchset #60 (id:1190001) as 182048

Powered by Google App Engine
This is Rietveld 408576698