New issue
Advanced search Search tips

Issue 769251 link

Starred by 1 user

Issue metadata

Status: Archived
Owner: ----
Closed: Sep 28
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Bug



Sign in to add a comment

bindings: [NewObject] DCHECKs fail if a wrapper calls ToV8() too early

Project Member Reported by raphael....@intel.com, Sep 27 2017

Issue description

I'm trying to annotate //third_party/WebKit/Source/modules/fetch/Request.idl's clone() with [NewObject] to adhere to the spec, but the DOMDataStore::GetWrapper(result, info.GetIsolate()).IsEmpty() part of the DCHECK introduced by [NewObject] is failing.

Request::clone()'s implementation ends up calling Request::RefreshBody(), which calls ToV8(this, ...) in its implementation, which means that by the time we reach the DCHECK in V8Request.cpp the new Request object being created already has an associated wrapper, even though it's a new object that hasn't been used by user scripts yet.
 
Could you use [DoNotTestNewObject] in such a case?
If we could have another test instead, that's great.  But it's optional (nice-to-have).

[DNTNO] does seem to do the trick, thanks. I'll leave this bug open but no longer mark it as blocking  issue 769221 .

It'd be great if we could drop [DNTNO] altogether and just improve the checks for [NewObject].
Blocking: -769221
Project Member

Comment 4 by sheriffbot@chromium.org, Sep 27

Labels: Hotlist-Recharge-Cold
Status: Untriaged (was: Available)
This issue has been Available for over a year. If it's no longer important or seems unlikely to be fixed, please consider closing it out. If it is important, please re-triage the issue.

Sorry for the inconvenience if the bug really should have been left as Available.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Status: Archived (was: Untriaged)
This is a relatively minor issue, and there seems no good solution due to its nature.  I close this issue.

Sign in to add a comment