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

Issue 2663643002: For a worker, mark relative to its wrapper map. (Closed)

Created:
3 years, 10 months ago by sof
Modified:
3 years, 10 months ago
CC:
blink-reviews, blink-reviews-bindings_chromium.org, chromium-reviews
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

For a worker, mark relative to its wrapper map. If marking a ScriptWrappable's wrapper object in a worker context, do that by consulting the worker's underlying DOMWrapperMap. R=jochen,haraken BUG=686563

Patch Set 1 #

Patch Set 2 : avoid redundant test #

Patch Set 3 : add test #

Total comments: 3

Patch Set 4 : provide DOMWrapperWorld via TLS #

Patch Set 5 : simplify DOMWrapperWorld lookup #

Patch Set 6 : check if ThreadState has a registered Isolate #

Patch Set 7 : check if ThreadState has a non-empty Isolate #

Total comments: 3

Patch Set 8 : check DOMDataStore access #

Total comments: 1
Unified diffs Side-by-side diffs Delta from patch set Stats (+39 lines, -3 lines) Patch
A third_party/WebKit/LayoutTests/fast/workers/resources/worker-xhr-onerror.js View 1 2 1 chunk +10 lines, -0 lines 0 comments Download
A third_party/WebKit/LayoutTests/fast/workers/worker-gc-alive.html View 1 2 1 chunk +17 lines, -0 lines 0 comments Download
M third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorld.cpp View 1 2 3 4 5 6 7 1 chunk +12 lines, -3 lines 1 comment Download

Messages

Total messages: 53 (34 generated)
jochen (gone - plz use gerrit)
https://codereview.chromium.org/2663643002/diff/40001/third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorld.cpp File third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorld.cpp (right): https://codereview.chromium.org/2663643002/diff/40001/third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorld.cpp#newcode145 third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorld.cpp:145: DOMWrapperWorld* wrapperWorld = alternatively, we could stick the wrapper ...
3 years, 10 months ago (2017-01-29 15:50:44 UTC) #13
haraken
https://codereview.chromium.org/2663643002/diff/40001/third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorld.cpp File third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorld.cpp (right): https://codereview.chromium.org/2663643002/diff/40001/third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorld.cpp#newcode145 third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorld.cpp:145: DOMWrapperWorld* wrapperWorld = On 2017/01/29 15:50:44, jochen (travelling til ...
3 years, 10 months ago (2017-01-29 16:49:32 UTC) #19
sof
https://codereview.chromium.org/2663643002/diff/40001/third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorld.cpp File third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorld.cpp (right): https://codereview.chromium.org/2663643002/diff/40001/third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorld.cpp#newcode145 third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorld.cpp:145: DOMWrapperWorld* wrapperWorld = On 2017/01/29 15:50:44, jochen (travelling til ...
3 years, 10 months ago (2017-01-29 16:52:13 UTC) #20
jochen (gone - plz use gerrit)
lgtm
3 years, 10 months ago (2017-01-29 16:55:31 UTC) #21
haraken
On 2017/01/29 16:52:13, sof wrote: > https://codereview.chromium.org/2663643002/diff/40001/third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorld.cpp > File third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorld.cpp (right): > > https://codereview.chromium.org/2663643002/diff/40001/third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorld.cpp#newcode145 > ...
3 years, 10 months ago (2017-01-29 16:57:13 UTC) #22
sof
On 2017/01/29 16:57:13, haraken wrote: > On 2017/01/29 16:52:13, sof wrote: > > > https://codereview.chromium.org/2663643002/diff/40001/third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorld.cpp ...
3 years, 10 months ago (2017-01-29 17:24:01 UTC) #23
haraken
On 2017/01/29 17:24:01, sof wrote: > On 2017/01/29 16:57:13, haraken wrote: > > On 2017/01/29 ...
3 years, 10 months ago (2017-01-29 17:25:02 UTC) #24
NGG1
I'll be able to check tomorrow if this solves really solves our problem. Thanks for ...
3 years, 10 months ago (2017-01-29 20:58:45 UTC) #35
sof
This needs more work, some boundary cases not being handled correctly. I'll be travelling and ...
3 years, 10 months ago (2017-01-29 21:11:13 UTC) #36
Michael Lippautz
On 2017/01/29 21:11:13, sof wrote: > This needs more work, some boundary cases not being ...
3 years, 10 months ago (2017-01-29 23:13:16 UTC) #39
jochen (gone - plz use gerrit)
https://codereview.chromium.org/2663643002/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/2663643002/diff/120001/third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorld.cpp#newcode149 third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorld.cpp:149: if (dataStore.containsWrapper(scriptWrappable)) { I guess this line is missing ...
3 years, 10 months ago (2017-01-30 00:52:28 UTC) #41
Michael Lippautz
On 2017/01/30 00:52:28, jochen (travelling til Feb 4) wrote: > https://codereview.chromium.org/2663643002/diff/120001/third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorld.cpp > File third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorld.cpp (right): ...
3 years, 10 months ago (2017-01-30 01:54:12 UTC) #42
sof
On 2017/01/30 01:54:12, Michael Lippautz (slow travel) wrote: > On 2017/01/30 00:52:28, jochen (travelling til ...
3 years, 10 months ago (2017-01-30 04:50:44 UTC) #45
sof
https://codereview.chromium.org/2663643002/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/2663643002/diff/120001/third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorld.cpp#newcode149 third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorld.cpp:149: if (dataStore.containsWrapper(scriptWrappable)) { On 2017/01/30 00:52:27, jochen (travelling til ...
3 years, 10 months ago (2017-01-30 04:50:56 UTC) #46
NGG
On 2017/01/30 04:50:56, sof wrote: > https://codereview.chromium.org/2663643002/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/2663643002/diff/120001/third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorld.cpp#newcode149 > ...
3 years, 10 months ago (2017-01-30 12:37:21 UTC) #49
jochen (gone - plz use gerrit)
https://codereview.chromium.org/2663643002/diff/140001/third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorld.cpp File third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorld.cpp (right): https://codereview.chromium.org/2663643002/diff/140001/third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorld.cpp#newcode139 third_party/WebKit/Source/bindings/core/v8/DOMWrapperWorld.cpp:139: if (isolate && !isolate->GetCurrentContext().IsEmpty()) { maybe remove the GetCurrentContext() ...
3 years, 10 months ago (2017-01-30 15:34:01 UTC) #50
NGG
On 2017/01/30 12:37:21, NGG wrote: > Unfortunately this doesn't solve our problem, in our project ...
3 years, 10 months ago (2017-01-30 17:33:49 UTC) #51
Michael Lippautz
On 2017/01/30 17:33:49, NGG wrote: > On 2017/01/30 12:37:21, NGG wrote: > > Unfortunately this ...
3 years, 10 months ago (2017-01-30 21:58:16 UTC) #52
sof
3 years, 10 months ago (2017-02-03 18:48:28 UTC) #53
On 2017/01/30 21:58:16, Michael Lippautz (slow travel) wrote:
> On 2017/01/30 17:33:49, NGG wrote:
> > On 2017/01/30 12:37:21, NGG wrote:
> > > Unfortunately this doesn't solve our problem, in our project the XHR still
> > gets
> > > GC'd before finishing. My previous minimized example runs correctly now,
> I'll
> > > try to create a new small example that still fails.
> > 
> > self.gc() seems to be working, but manually triggering the GC via the
> DevConsole
> > can still reproduce the issue.
> > https://bugs.chromium.org/p/chromium/issues/detail?id=683406#c39
> 
> FYI: I am looking right now. The current approach doesn't work as we cannot
call
> GetCurrentContext during a GC, as it would require a new handle scope. I am
> implementing this now using TLS.

https://codereview.chromium.org/2665733002 that ended up as, thanks much.
Closing this one.

Powered by Google App Engine
This is Rietveld 408576698