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

Issue 2747163002: Bindings: Manage multiple DOMWrapperWorlds for worklets (2) (Closed)

Created:
3 years, 9 months ago by nhiroki
Modified:
3 years, 9 months ago
Reviewers:
haraken, peria, jbroman, Yuki
CC:
blink-reviews, blink-reviews-bindings_chromium.org, chromium-reviews
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Bindings: Manage multiple DOMWrapperWorlds for worklets (2) This is a follow-up CL for https://crrev.com/2735823006/ This CL... - merges isolatedWorldMap() into worldMap() for simplification, - fixes ArrayBuffer accumulation to correctly handle all worlds on non-main thread, and - adds unit tests for DOMWrapperWorld. BUG=697622, 697629 Review-Url: https://codereview.chromium.org/2747163002 Cr-Commit-Position: refs/heads/master@{#457357} Committed: https://chromium.googlesource.com/chromium/src/+/178fc4a5d430afe4ae1cd9fabbf1a631dd09e965

Patch Set 1 #

Total comments: 7

Patch Set 2 : fix fromWorldId() #

Patch Set 3 : add more tests for disposal of worlds #

Total comments: 8

Patch Set 4 : tweak #

Total comments: 10

Patch Set 5 : address review comments #

Patch Set 6 : tweak #

Total comments: 4

Patch Set 7 : address review comments & may fix use-after-free bug in the test #

Unified diffs Side-by-side diffs Delta from patch set Stats (+209 lines, -81 lines) Patch
M third_party/WebKit/Source/bindings/bindings.gni View 1 chunk +1 line, -0 lines 0 comments Download
M third_party/WebKit/Source/bindings/core/v8/DOMDataStore.h View 1 2 3 4 1 chunk +1 line, -1 line 0 comments Download
M third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorld.h View 1 2 3 4 5 2 chunks +5 lines, -3 lines 0 comments Download
M third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorld.cpp View 1 2 3 4 5 4 chunks +37 lines, -65 lines 0 comments Download
A third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorldTest.cpp View 1 2 3 4 5 6 1 chunk +161 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/bindings/core/v8/SerializedScriptValue.cpp View 1 2 3 4 5 6 1 chunk +4 lines, -12 lines 0 comments Download

Messages

Total messages: 50 (32 generated)
nhiroki
Hi, can you review this? +haraken@,yukishiino@,peria@ for the entire CL +jbroman@ for SerializedScriptValue.cpp Thanks.
3 years, 9 months ago (2017-03-15 07:05:58 UTC) #11
peria
https://codereview.chromium.org/2747163002/diff/60001/third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorld.cpp File third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorld.cpp (left): https://codereview.chromium.org/2747163002/diff/60001/third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorld.cpp#oldcode203 third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorld.cpp:203: WorldMap& map = isolatedWorldMap(); This change makes nonMainWorldsInCurrentThread() and ...
3 years, 9 months ago (2017-03-15 07:26:22 UTC) #12
nhiroki
https://codereview.chromium.org/2747163002/diff/60001/third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorld.cpp File third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorld.cpp (left): https://codereview.chromium.org/2747163002/diff/60001/third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorld.cpp#oldcode203 third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorld.cpp:203: WorldMap& map = isolatedWorldMap(); On 2017/03/15 07:26:21, peria wrote: ...
3 years, 9 months ago (2017-03-15 07:38:08 UTC) #15
peria
https://codereview.chromium.org/2747163002/diff/60001/third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorld.cpp File third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorld.cpp (left): https://codereview.chromium.org/2747163002/diff/60001/third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorld.cpp#oldcode203 third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorld.cpp:203: WorldMap& map = isolatedWorldMap(); On 2017/03/15 07:38:08, nhiroki (slow) ...
3 years, 9 months ago (2017-03-15 07:52:11 UTC) #16
nhiroki
Thank you. Updated. https://codereview.chromium.org/2747163002/diff/60001/third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorld.cpp File third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorld.cpp (left): https://codereview.chromium.org/2747163002/diff/60001/third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorld.cpp#oldcode203 third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorld.cpp:203: WorldMap& map = isolatedWorldMap(); On 2017/03/15 ...
3 years, 9 months ago (2017-03-15 08:21:26 UTC) #19
peria
https://codereview.chromium.org/2747163002/diff/60001/third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorld.h File third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorld.h (right): https://codereview.chromium.org/2747163002/diff/60001/third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorld.h#newcode87 third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorld.h:87: static bool nonMainWorldsInCurrentThread(); On 2017/03/15 08:21:26, nhiroki (slow) wrote: ...
3 years, 9 months ago (2017-03-15 08:37:28 UTC) #20
Yuki
https://codereview.chromium.org/2747163002/diff/100001/third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorld.cpp File third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorld.cpp (right): https://codereview.chromium.org/2747163002/diff/100001/third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorld.cpp#newcode110 third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorld.cpp:110: switch (worldType) { super nit: s/worldType/m_worldType/ https://codereview.chromium.org/2747163002/diff/100001/third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorld.cpp#newcode120 third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorld.cpp:120: DCHECK(!map.contains(worldId)); ...
3 years, 9 months ago (2017-03-15 08:48:47 UTC) #21
haraken
https://codereview.chromium.org/2747163002/diff/120001/third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorld.cpp File third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorld.cpp (right): https://codereview.chromium.org/2747163002/diff/120001/third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorld.cpp#newcode135 third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorld.cpp:135: PassRefPtr<DOMWrapperWorld> DOMWrapperWorld::fromWorldId(v8::Isolate* isolate, This method looks a bit weird. ...
3 years, 9 months ago (2017-03-15 08:56:09 UTC) #22
nhiroki
Thank you for reviewing this. Updated. https://codereview.chromium.org/2747163002/diff/100001/third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorld.cpp File third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorld.cpp (right): https://codereview.chromium.org/2747163002/diff/100001/third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorld.cpp#newcode110 third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorld.cpp:110: switch (worldType) { ...
3 years, 9 months ago (2017-03-15 11:01:23 UTC) #31
Yuki
LGTM. https://codereview.chromium.org/2747163002/diff/140002/third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorldTest.cpp File third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorldTest.cpp (right): https://codereview.chromium.org/2747163002/diff/140002/third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorldTest.cpp#newcode95 third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorldTest.cpp:95: TEST(DOMWrapperWorldTest, basic) { nit: s/basic/Basic/ maybe? Most tests ...
3 years, 9 months ago (2017-03-15 11:54:07 UTC) #32
haraken
LGTM
3 years, 9 months ago (2017-03-15 13:18:10 UTC) #35
jbroman
SerializedScriptValue lgtm https://codereview.chromium.org/2747163002/diff/140002/third_party/WebKit/Source/bindings/core/v8/SerializedScriptValue.cpp File third_party/WebKit/Source/bindings/core/v8/SerializedScriptValue.cpp (right): https://codereview.chromium.org/2747163002/diff/140002/third_party/WebKit/Source/bindings/core/v8/SerializedScriptValue.cpp#newcode180 third_party/WebKit/Source/bindings/core/v8/SerializedScriptValue.cpp:180: for (size_t i = 0; i < ...
3 years, 9 months ago (2017-03-15 14:09:34 UTC) #36
nhiroki
Thank you! https://codereview.chromium.org/2747163002/diff/140002/third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorldTest.cpp File third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorldTest.cpp (right): https://codereview.chromium.org/2747163002/diff/140002/third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorldTest.cpp#newcode95 third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorldTest.cpp:95: TEST(DOMWrapperWorldTest, basic) { On 2017/03/15 11:54:07, Yuki ...
3 years, 9 months ago (2017-03-15 14:47:42 UTC) #39
nhiroki
peria@, friendly ping?
3 years, 9 months ago (2017-03-16 05:03:10 UTC) #42
peria
LGTM I'm sorry to be late.
3 years, 9 months ago (2017-03-16 05:12:00 UTC) #43
nhiroki
On 2017/03/16 05:12:00, peria wrote: > LGTM > > I'm sorry to be late. No ...
3 years, 9 months ago (2017-03-16 05:15:08 UTC) #44
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2747163002/180001
3 years, 9 months ago (2017-03-16 05:15:37 UTC) #47
commit-bot: I haz the power
3 years, 9 months ago (2017-03-16 05:23:55 UTC) #50
Message was sent while issue was closed.
Committed patchset #7 (id:180001) as
https://chromium.googlesource.com/chromium/src/+/178fc4a5d430afe4ae1cd9fabbf1...

Powered by Google App Engine
This is Rietveld 408576698