bindings: [NewObject] DCHECKs fail if a wrapper calls ToV8() too early |
||||
Issue descriptionI'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.
,
Sep 27 2017
[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].
,
Sep 27 2017
,
Sep 27
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
,
Sep 28
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 |
||||
Comment 1 by yukishiino@chromium.org
, Sep 27 2017